On Wed, Jun 25, 2008 at 07:51:10AM -0400, Anderson Lizardo wrote:
> When a library is prelinked, its section addresses are already absolute. This
> patch checks for prelinked libraries by looking at the virtual address of the
> PT_LOAD entry that has an offset equal to zero. If it is not zero, it means 
> the
> library is prelinked.
> 
> Note that this only affects remote backtrace for ARM, because it fills the
> struct dl_phdr_info manually with information from tdep_get_elf_image().

This check is not in general correct.  Libraries can be linked at any
p_vaddr.  0 is traditional on most platforms, but for many years MIPS
libraries were linked at 0x5ffe0000.  Also, if prelink loading fails
then glibc will relocate libraries despite their absolute addresses.

It sounds to me like the data you're synthesizing from on-disk needs
to be adjusted.

-- 
Daniel Jacobowitz
CodeSourcery


_______________________________________________
Libunwind-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/libunwind-devel

Reply via email to