gas, sparc, dwarf2, and R_SPARC_(UA)64

Jakub Jelinek jakub@redhat.com
Mon Jul 12 16:41:00 GMT 2004


On Mon, Jul 12, 2004 at 05:41:41PM +0100, Nick Clifton wrote:
> >This relies on the linker converting unaligned relocs to aligned ones
> >if the object is aligned.
> >GNU ld does this, but I'm not sure about Sun ld (especially when
> >UA16/UA64 relocs are relatively new).
> 
> Hmm - so perhaps this change should be controlled by a command line 
> switch ?  It would be off by default but set by GCC when it knows that 
> it has been configured for a SPARC with a GNU LD present ?

Just verified that Sun ld at least in Solaris 8 is dumb enough
not to convert UA* relocs on aligned locations into their aligned
counterparts.
Wouldn't it be easier to simply convert aligned relocs to unaligned ones
when writing them by gas if it detects misaligned location
(or, use unaligned ones internally as you had in the patch, but when
writing them into .o file convert the aligned ones from UA* to non-UA*
relocs)?

	Jakub



More information about the Binutils mailing list