This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [needs GWP] Fix CFI directives for MIPS16
Daniel Jacobowitz <drow@false.org> writes:
> On Sun, Nov 23, 2008 at 05:09:41PM +0000, Richard Sandiford wrote:
>> I think it would be better if .cfi_startproc used ISA-encoded start
>> addresses, which is what we've traditionally used in pre-.cfi FDEs.
>
> You could probably guess this was coming from our earlier conversation
> about symbol size... but would you mind explaining your take on "better" a
> little?
No reasons other than the ones I gave in the original message:
- As things stand, you need to define the user-visible FDE
label in a nonobvious way in order to get correct code.
Specifically, you need to write:
$LFB1 = .
.cfi_startproc
- It stays compatible with GCC 4.3 & earlier FDEs.
> I think non-encoded addresses would make more sense; and FWIW that's
> what Thumb does. If they're encoded, GDB can't reliably find the FDE
> for the first instruction of the function. Execution mode should not
> matter to the DWARF consumer.
Well, .eh_frame isn't a standard debug-only section, it's designed to
be used at runtime too. The choice seems less clear-cut in that case.
It might be useful to know at runtime whether a given FDE describes
MIPS16 or non-MIPS16 code.
I'll do it your way though. GCC patch tested and imminent.
Richard