[PATCH/RFA] sh-elf: Unnecessary relocations

Daniel Jacobowitz drow@mvista.com
Thu Sep 26 16:04:00 GMT 2002


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?

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer



More information about the Binutils mailing list