On Wed, Aug 26, 2009 at 5:03 AM, Jan Kratochvil wrote: >> +      && (bfd_get_file_flags (abfd) & BFD_IN_MEMORY) == 0) >> +    /* This is an overlay section.  IN_MEMORY check is needed to avoid >> +       discarding sections from the "system supplied DSO" (aka vdso) >> +       on Linux.  */ > > Interesting it exists, do you have a sample + kernel version of such VDSO? This showed up on F11/i686. $ uname -a Linux fc11i 2.6.29.6-217.2.3.fc11.i686.PAE #1 SMP Wed Jul 29 16:05:22 EDT 2009 i686 i686 i386 GNU/Linux When I extract vdso.so via attached dump-vdso.c (Fedora disallows reading of /proc/self/mem), I see this: [paul@fc11i tmp]$ readelf -l ./vdso32.so Elf file type is DYN (Shared object file) Entry point 0xffffe414 There are 4 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000000 0xffffe000 0x00000000 0x00428 0x00428 R E 0x1000 DYNAMIC 0x000350 0xffffe350 0x00000350 0x00078 0x00078 R 0x4 NOTE 0x0001c4 0xffffe1c4 0x000001c4 0x00060 0x00060 R 0x4 GNU_EH_FRAME 0x000224 0xffffe224 0x00000224 0x00024 0x00024 R 0x4 >> +  map_size = filter_debuginfo_sections(map, alloc_size); >> +  map_size = filter_overlapping_sections(map, map_size); > > GNU spacing. Oops. Fix attached. Thanks, -- Paul Pluzhnikov 2009-08-26 Paul Pluzhnikov * objfiles.c (qsort_cmp): Remove asserts. (insert_section_p, filter_debuginfo_sections): New function. (filter_overlapping_sections): Likewise. (update_section_map): Adjust.