recent mips-elf linker "architecture ... incompatible" regressions

Daniel Jacobowitz drow@mvista.com
Wed Mar 13 16:24:00 GMT 2002


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



More information about the Binutils mailing list