This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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


"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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]