linux-mips
[Top] [All Lists]

Re: DWARF2 exception doesn't work with gcc and gas on MIPS.

To: "H . J . Lu" <hjl@lucon.org>
Subject: Re: DWARF2 exception doesn't work with gcc and gas on MIPS.
From: Ian Lance Taylor <ian@zembu.com>
Date: 13 Jun 2001 22:50:54 -0700
Cc: gcc@gcc.gnu.org, binutils@sourceware.cygnus.com, linux-mips@oss.sgi.com
In-reply-to: <20010613212940.A22683@lucon.org>
Mail-followup-to: gcc@gcc.gnu.org, binutils@sourceware.cygnus.com, linux-mips@oss.sgi.com, hjl@lucon.org
References: <20010613212940.A22683@lucon.org>
Sender: owner-linux-mips@oss.sgi.com
User-agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7
"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

<Prev in Thread] Current Thread [Next in Thread>