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: 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.

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