In 2.6.10-mm2, if I look at the maps of a process execve'd from a static executable, /proc//maps looks wrong. For example, a simple statically linked "hello world" program has these segments: LOAD 0x000000 0x08048000 0x08048000 0x54874 0x54874 R E 0x1000 LOAD 0x055000 0x0809d000 0x0809d000 0x00c4c 0x018f4 RW 0x1000 NOTE 0x0000b4 0x080480b4 0x080480b4 0x00020 0x00020 R 0x4 STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4 so I would expect to see a mapping from 0x8048000-0x809d000 with r-x permissions, and another from 0x0809d000-0x0809e000 with rwx permissions. Instead I see this: 0809d000-0809e000 rwxp 00055000 03:07 1622045 /home/jeremy/hello 0809e000-080c0000 rwxp 0809e000 00:00 0 b7fff000-b8000000 rwxp b7fff000 00:00 0 bffea000-c0000000 rw-p bffea000 00:00 0 ffffe000-fffff000 ---p 00000000 00:00 0 It looks like the whole text segment is missing, and only the data segment is present. I'm not sure what that mapping at b7fff000-b8000000 is. The program runs, so I assume the executable is actually mapped at 0x8048000-0x809d000, so it seems that either the vma list is corrupted, or procfs itself is misreading it (which seems unlikely). Dynamic binaries look fine, so I wonder if this is a problem in execve() with static binaries? 2.6.10-mm1 works fine (hm, better check, but it doesn't cause Valgrind to spectacularly explode like this does, so I assume its basically OK), so this is something new. Config attached. J