This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ld corrupting .cfi_label uses


>>> On 03.03.17 at 10:43, <amodra@gmail.com> wrote:
> On Fri, Mar 03, 2017 at 12:28:46AM -0700, Jan Beulich wrote:
>> >>> On 02.03.17 at 22:34, <amodra@gmail.com> wrote:
>> > So I have some further patches for powerpc64, and am modifying
>> > elf-eh-frame.c to align CIEs and FDEs ideally.  Current patch looks at
>> > the FDE encoding to choose 4 or 8 byte alignment in order to make FDE
>> > range start and size naturally aligned.
>> 
>> That was one of my thoughts too, but would seem to collide with
>> the dwarf2_format_64bit case: That emits 32 bits of all ones
>> followed by two 64-bit quantities. DWARF2_FDE_RELOC_SIZE
>> being larger than 4 would the still mean misaligned fields (as much
>> as the two mentioned 64-bit ones already appear to be).
> 
> gas doesn't generate a 64-bit eh_frame, and elf-eh-frame.c doesn't
> support 64-bit eh_frame.  So not a problem.

Oh, so you do what you said above only in the .eh_frame case,
but not in the Dwarf one? (I've run the testsuite on ppc64 over
your original patch, without there being any issue. Nevertheless
I would of course appreciate to get to see the further
adjustments you've made. Or perhaps you mean to commit them
soon anyway?)

As to all of the changes so far (including reducing the alignment
on x86-64) helping - no, sadly not. There are still some CIEs and/or
FDEs folded during final link, so labels still point to the wrong place.
It's just not as far off anymore.

Jan


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]