This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] MIPS/GAS: Fix NewABI reloc handling with the LD/SD macro
- From: "Maciej W. Rozycki" <macro at linux-mips dot org>
- To: Richard Sandiford <rdsandiford at googlemail dot com>
- Cc: binutils at sourceware dot org
- Date: Mon, 1 Nov 2010 09:56:43 +0000 (GMT)
- Subject: Re: [PATCH] MIPS/GAS: Fix NewABI reloc handling with the LD/SD macro
- References: <alpine.LFD.2.00.1010241201020.15889@eddie.linux-mips.org> <87wrp6m03j.fsf@firetop.home> <alpine.LFD.2.00.1010311914200.25426@eddie.linux-mips.org> <g439rl1m2m.fsf@richards-desktop.stglab.manchester.uk.ibm.com>
On Mon, 1 Nov 2010, Richard Sandiford wrote:
> > Given the current state of affairs I'll post the testcase I have in mind
> > separately later on. Note that the LD failures spotted by Alan are
> > indirect only -- we seem to be lacking a direct test, so one will be good
> > to have IMO.
>
> It cuts both ways. I see the binutils testsuite as effectively a unit,
> rather than as a collection of separate component testsuites (gas/, ld/,
> binutils/). So while you could say that assembler-only relocation tests
> are more "direct" than ld tests, you could also say that they're less
> complete than the assembler+linker tests in ld/.
You're right, but that's not what I had in mind writing that -- these
tests (be they from the binutils or GAS or LD subset -- as you say that
really does not matter here) have not been specifically designed to test
compound relocations, but some other features and they trigger and fail by
chance only. That is of course a good and desired side effect and as you
may have noticed I even try to induce some side effects deliberately (or
just notice their presence ;) ) with some test cases I make, but I think
that's a feature that deserves an explicit check guaranteeing a better
coverage.
I have a rough idea how to do that, but I'll need some time to implement
it properly and I simply ran out of last weekend.
> > gas/
> > * config/tc-mips.c (macro)[M_LD_OB, M_SD_OB]: Use the offset
> > reloc supplied.
> > (mips_ip)['o']: Initialise offset_reloc.
>
> OK.
Applied now, thanks.
Maciej