This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: DWARF2 exception doesn't work with gcc and gas on MIPS.
- To: "H . J . Lu" <hjl at lucon dot org>
- Subject: Re: DWARF2 exception doesn't work with gcc and gas on MIPS.
- From: Ian Lance Taylor <ian at zembu dot com>
- Date: 13 Jun 2001 22:50:54 -0700
- Cc: gcc at gcc dot gnu dot org, binutils at sourceware dot cygnus dot com, linux-mips at oss dot sgi dot com
- References: <20010613212940.A22683@lucon.org>
"H . J . Lu" <hjl@lucon.org> writes:
> In the MIPS gas, there is
>
> case M_JAL_A:
Not the relevant bit of code, not that it matters much. The
instruction
jal $31,$25
will be handled by the M_JAL_1 case in gas/config/tc-mips.c.
> Does anyone have any suggestions how to fix it?
Traditional MIPS assemblers try to make life easier by doing this sort
of translation. Modern MIPS compilers sidestep the translation
because they can do better. In this case gcc evidently needs to do
better in order to makes it exception handling model work. gcc should
generate a jalr instruction, and should restore the GP register
itself.
(I suppose that it would be theoretically possible for gas to
recognize labels of the special form $LEHEn. But that seems quite
dreadful and quite fragile.)
Ian