debug_loc decoding error with readelf/objdump ?
Richard Henderson
rth@redhat.com
Tue Aug 31 21:55:00 GMT 2010
On 08/31/2010 05:55 AM, Christian Bruel wrote:
>> The problem is, I think, with gcc, though I've not yet figured out
>> why (my knowledge of gcc internals is still pretty weak) but
>> looking at at gcc/dwarf2out.c in the gcc source, in
>> output_loc_list( ... ) there is code that looks like this:
>
> I think this happened when code is optimized after the dwarf2
> emission (there are places where this can happen: relaxation, ...).
> I'll go back to look at GCC to see where this occurred.
It shouldn't be able to happen within gcc itself, as dwarf2 is
emitted last, alongside assembly output.
Relaxation within the linker is a possibility though. There are
lots of tables that have to be updated in order to delete insns,
and I doubt we get them all right.
That said, the only targets with which I have experience with
relaxation never try to actually delete insns; they only zap
the insns into nops. Which is much much easier.
r~
More information about the Binutils
mailing list