The file /proc/self/maps reifies the memory maps of the current process (as per proc(5)). Each dynamic library linked to the process has a private, read-only zone (the code, I presume), plus a private copy-on-write zone (the stack). On LinuxPPC there is a third zone with permissions `---p' at an offset with respect to the shared library's file (this doesn't appear on linux/x86).
Could someone explain what this corresponds to? Is it just a question of data alignment? ,---- | 0fda8000-0fdb1000 r-xp 00000000 03:06 30748 /lib/libnss_files-2.1.1.so | 0fdb1000-0fde8000 ---p 00009000 03:06 30748 /lib/libnss_files-2.1.1.so | 0fde8000-0fdf2000 rwxp 00000000 03:06 30748 /lib/libnss_files-2.1.1.so | 0fe02000-0fedd000 r-xp 00000000 03:06 30727 /lib/libc-2.1.1.so | 0fedd000-0ff12000 ---p 000db000 03:06 30727 /lib/libc-2.1.1.so | 0ff12000-0ff30000 rwxp 000d0000 03:06 30727 /lib/libc-2.1.1.so `---- -- Eric Marsden <URL:http://www.laas.fr/~emarsden/>