2.10.91: A problem with R_MIPS_CALL relocations within gas
Hiroyuki Machida
machida@sm.sony.co.jp
Sat Nov 18 19:37:00 GMT 2000
IFrom: Ian Lance Taylor <ian@zembu.com>
Subject: Re: 2.10.91: A problem with R_MIPS_CALL relocations within gas
Date: 17 Nov 2000 22:07:57 -0800
> I think we can fix gcc.
> How about to fix gcc (gcc/config/mips/mips.md) as following.
>
> if TARGET_GAS
> emit jal <symbol>
> else
> emit lw t9,<symbol>; jalr t9
>
> I recommend against that. You would lose the whole point of splitting
> the instructions in the first place.
>
Ok. But in my understanding, the condition "la t9" is not enought to detect
lazy-binding. The next case, you can't apply lazy-binding. I know
the current gcc never generates such codes.
I think gcc should pass information wheather the symbol is
lazy-bindable or not and gas use it.
.set macro
.set reorder
la t9, <sym>
beq t9, a1, 1f
jal t9
1:
---
Hiroyuki Machida
Creative Station SCE Inc.
More information about the Binutils
mailing list