bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/12253] .eh_frame_hdr not properly sorted with mixed .eh_frame en


From: ro at CeBiTec dot Uni-Bielefeld.DE
Subject: [Bug ld/12253] .eh_frame_hdr not properly sorted with mixed .eh_frame encodings
Date: Tue, 23 Nov 2010 16:02:33 +0000

http://sourceware.org/bugzilla/show_bug.cgi?id=12253

--- Comment #3 from Rainer Orth <ro at CeBiTec dot Uni-Bielefeld.DE> 2010-11-23 
16:01:49 UTC ---
> --- Comment #2 from Alan Modra <amodra at gmail dot com> 2010-11-23 13:34:02 
> UTC ---
> I took a look at this today.  Besides the sorting problem, elf-eh-frame.c gets
> DW_EH_PE_datarel wrong.  datarel is quite horrible, with behaviour varying 
> from
> one architecture to another, unspecified on most.  For x86, datarel offsets 
> are
> supposed to be relative to .got.plt rather than .got.  On ia64, datarel is
> relative to __gp.

Do you have an idea where this is specified?  I've only found Table 11.6
in the LSB 4.0.0:

   
http://refspecs.freestandards.org/LSB_4.0.0/LSB-Core-generic/LSB-Core-generic/dwarfext.html

which says

DW_EH_PE_datarel    0x30    Value is relative to the beginning of
                                the .got or .eh_frame_hdr section.

A spec which says `do A or B' with no indication when to do one or the
other seems like a joke to me.  I've looked into the architecture
extensions for advise, but found nothing.

I ran into this when trying to get the libgcc unwinder to work with
dl_iterate_phdr on Solaris 11.  While the function works, Sun ld
interpreted DW_EH_PE_datarel relative to .eh_frame_hdr on i386 (apart
from other problems).  It would be good to have a spec to point to for
this, rather than saying `GCC has been doing this' instead.

Thanks.
    Rainer

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



reply via email to

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