This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: recent mips-elf linker "architecture ... incompatible" regressions
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: cgd at broadcom dot com
- Cc: binutils at sources dot redhat dot com
- Date: Wed, 13 Mar 2002 19:24:16 -0500
- Subject: Re: recent mips-elf linker "architecture ... incompatible" regressions
- References: <yov5y9gw81e9.fsf@broadcom.com>
On Wed, Mar 13, 2002 at 03:59:42PM -0800, cgd@broadcom.com wrote:
> Recently -- not quite sure when, haven't tracked it down -- building
> on host sparc-solaris for --target=mips-elf started showing the
> following ld testsuite errors:
Past day or two. Alan's patches, which were meant to prevent crashes
in linking 32-bit and 64-bit code together, presumably tightened the
compatibility checks. He said in his patch MIPS would be affected.
mips:4000 has 64-bit words. 'mips', which is what that linker is
configured to output by default, has 32-bit words. Even adding "-A
mips:4000" is not adequate to make LD shut up, though I'm not sure why
not.
> FAIL: MIPS 32-bit ELF embedded-pic relocs #1-ln (large negative)
> FAIL: MIPS 32-bit ELF embedded-pic relocs #1-lp (large positive)
> FAIL: MIPS 32-bit ELF embedded-pic relocs #1-mn (medium negative)
> FAIL: MIPS 32-bit ELF embedded-pic relocs #1-mp (medium positive)
> FAIL: MIPS 32-bit ELF embedded-pic relocs #1-sn (small negative)
> FAIL: MIPS 32-bit ELF embedded-pic relocs #1-sp (small positive)
> FAIL: MIPS 32-bit ELF embedded-pic relocs #2-fwd-0 (0x7ffc forward edge case)
> FAIL: MIPS 32-bit ELF embedded-pic relocs #2-fwd-1 (0xfffc forward edge case)
> FAIL: MIPS 32-bit ELF embedded-pic relocs #2-rev-0 (0x0004 backward edge case)
> FAIL: MIPS 32-bit ELF embedded-pic relocs #2-rev-1 (0x8004 backward edge case)
>
>
> Looking deeper at the logs, those are caused by linker errors like:
>
> ./ld-new: warning: mips:4000 architecture of input file `tmpdir/dump0.o' is incompatible with mips output
> ./ld-new: warning: mips:4000 architecture of input file `tmpdir/dump1.o' is incompatible with mips output
> ./ld-new: warning: mips:4000 architecture of input file `tmpdir/dump2.o' is incompatible with mips output
> ./ld-new: warning: mips:4000 architecture of input file `tmpdir/dump3.o' is incompatible with mips output
>
>
> These tests used to work, and we're extenstively using code not too
> unlike them. Anybody got any ideas what broken here, or do i get to
> track it down myself? 8-)
The way MIPS selects an architecture for the output file obviously
needs to be re-examined :)
--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer