libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libunwind-devel] [PATCH 3/7] Fix issue with resolving relative addr


From: Daniel Jacobowitz
Subject: Re: [Libunwind-devel] [PATCH 3/7] Fix issue with resolving relative addresses for prelinked libraries
Date: Wed, 25 Jun 2008 08:31:53 -0400
User-agent: Mutt/1.5.17 (2008-05-11)

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]