bug-binutils
[Top][All Lists]
Advanced

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

[Bug gas/31115] [ARM] The minimalistic DWARF DIE for function has wrong


From: jbeulich at suse dot com
Subject: [Bug gas/31115] [ARM] The minimalistic DWARF DIE for function has wrong address in Thumb mode
Date: Thu, 21 Mar 2024 15:44:25 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=31115

--- Comment #8 from Jan Beulich <jbeulich at suse dot com> ---
(In reply to Nick Clifton from comment #5)
> > There's another thing I just discovered : I can reproduce GDB's bad
> > behavior on an ELF executable (produced by GCC from the .S file), but
> > not on a .o file produced directly by gas:
> 
> Or one that is produced by using gcc to invoke just gas.  ie compiling with
> "-c".

Doesn't this ...

> > Both the executable and the .o file have the LSB bit set in main's
> > DW_AT_low_pc:
> 
> > So for some reason GDB is fine with an object file containing the wrong
> > DW_AT_low_pc in main's DIE, but not when it's with a "full blown"
> > executable.
> 
> My guess - totally unproven - is that GDB has special code to mask thumb
> addresses for object files, but for some reason this code is not applied
> to linked executables.

... suggest there's an issue in the linking step?

But I'm actually confused by the mention of the .o having the low bits set. If
that was the case, the way gcc invokes as would provoke the odd behavior, and
that ought to then be reproducible by invoking as directly, with whatever
necessary options and/or directives in place. In my testing I cannot observe
the low bits set in .o, no matter how they're created.

-- 
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]