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]
Other format: [Raw text]

Re: [PATCH/RFA] sh-elf: Unnecessary relocations


Daniel Jacobowitz <drow@mvista.com> wrote:
> On Fri, Sep 27, 2002 at 06:26:52AM +0900, kaz Kojima wrote:
>> Hi,
>> 
>> Current gas for sh-elf generates some unnecessary PC relative
>> relocations when the symbol is global. For example, I've got
>> two relocations:
>> 
>> RELOCATION RECORDS FOR [.text]:
>> OFFSET   TYPE              VALUE 
>> 00000000 R_SH_DIR8WPL      foo
>> 00000006 R_SH_IND12W       foo
>> 
>> for the following small source
>> 
>> 	.text
>> 	mova	foo,r0
>> 	rts
>> 	nop
>>         .global foo
>> foo:
>> 	bra	foo
>> 	nop
>> 
>> and slightly old gas doesn't make such relocations for the same
>> source. With the following patch, gas shows the same behavior
>> as the old one. Regression tested on sh-unknown-linux-gnu.
> 
> Isn't that incorrect ELF, though?  Can't the definition of foo end up
> coming from another shared object?

Yes, it's a correct ELF. My point is that these relocations are
unnecessary in this case.

	kaz


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