"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