This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: 2.10.91: A problem with R_MIPS_CALL relocations within gas
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.