This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
MIPS failures on 2.14 branch
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: binutils at sources dot redhat dot com
- Date: Sat, 3 May 2003 22:56:08 -0400
- Subject: MIPS failures on 2.14 branch
Hey MIPS folks ... we've got these, for mipsel-linux:
regexp_diff match failure
regexp "^ 1000 (1010)?0000(1010)? (1210)?0000(1012)? (0c)?000000(0c)? (0e)?000000(0e)? .*$"
line " 1000 10100000 12100000 0c000000 16000000 ................"
FAIL: ld-elf/merge
Appears to be an assembler bug. The .o file looks like:
dump0.o: file format elf32-tradlittlemips
Contents of section .text:
0000 00000000 04000000 04000000 10000000 ................
Um... the last two should be four bytes apart... not twelve. There's also a
valgrind error while running gas on this simple file. It shows up in
_bfd_elf_write_object_contents, which suggests to me that the in-place
addend was never initialized.
We've also got:
./ld-new -L/opt/mvista/BUILD/binutils-2.13.90/ld/testsuite/ld-mips-elf -melf32btsmip -shared -o tmpdir/dump tmpdir/dump0.o tmpdir/dump1.o
failed with: <./ld-new: tmpdir/dump0.o: compiled for a little endian system and target is big endian
FAIL: MIPS multi-got-1
And similiarly for rel32/o32, rel32/n32, and rel64/n64. Those are easy to
fix; add -EB to the as: lines in the relevant .d files. If you fix
multi-got-1 similarly then you'll get regex failures starting with:
regexp "^000f6710 00201603 R_MIPS_REL32 0009f750 sym_2_3817$"
line "000f9edc 00201603 R_MIPS_REL32 0009f750 sym_2_3817"
i.e. the addresses have changed.
If you want something _really_ cute, remove the -melf32btsmipn32 from the ld
line in rel32-n32.d and watch ld SIGSEGV.
I'd really appreciate it if someone could look into the two of these which
aren't trivial. They are also visible on mips-linux (i.e. big endian). I'd
at least like them casually analyzed before 2.14...
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer