On Mon, Nov 18, 2013 at 5:11 AM, Jakub Jelinek <ja...@redhat.com> wrote: > > info->dlpi_addr == 0 is true for executables (but those have also > info->dlpi_name set to ""), but not just for those, it is true also > for successfully prelinked shared libraries or any other libraries that > have been linked at non-zero offset and the dynamic linker managed to mmap > them where they were prelinked resp. linked to. > > BTW, I'm surprised you aren't adding base_address (well, in fact it is > actually not base address, but load bias, difference between load address > and link base address) to elf_initialize_syminfo created symbol addresses, > because all of them should be biased by the load address. > And, elf_initialize_syminfo should ignore st_shndx == SHN_UNDEF symbols, > those shouldn't be biased but not even entered into the table.
You're right, these are bugs. > 2013-11-18 Jakub Jelinek <ja...@redhat.com> > > * elf.c (phdr_callback): Process info->dlpi_addr == 0 normally. This is OK. Thanks. Ian