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