This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: stage one of gas reloc rewrite
- From: Ralf Baechle <ralf at uni-koblenz dot de>
- To: binutils at sources dot redhat dot com
- Date: Mon, 2 Sep 2002 02:05:41 +0200
- Subject: Re: stage one of gas reloc rewrite
- References: <20020829232440.M18764@bubble.sa.bigpond.net.au>
On Thu, Aug 29, 2002 at 11:24:40PM +0930, Alan Modra wrote:
> The non-ELF mips targets don't even build, but that breakage wasn't
> caused by my changes. No new regressions, except for mips and sh64,
> and after examining the test results in detail, I reckon the
> "failures" are actually due to bugs being fixed. For instance, the
> mips beq.s test has
>
> .globl text_label
> .text
> text_label:
> beq $4,$5,text_label
>
> then expects that the "beq" should resolve without a relocation. I
> think that ELF shared library requirements on global symbols demand
> that this be resolved by the linker, ie. a reloc should be emitted,
> but I'm willing to be convinced otherwise by the mips camp. For that
> reason, I haven't adjusted the mips testsuite.
The branch has to resolve without relocation because there isn't even
a suitable relocation type to represent this in ABI ELF.
Which at times can be an annoyance that requires replacing branches to
destinations in other files to be replaced by a branch to a jump which
then jumps to the actual target which of course is less efficient.
Maybe time for a GNU extension?
Ralf