This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: make check failures on ia64-linux
- To: binutils at sources dot redhat dot com
- Subject: Re: make check failures on ia64-linux
- From: Jim Wilson <wilson at cygnus dot com>
- Date: Mon, 25 Jun 2001 14:48:00 -0700
- cc: aj at suse dot de
I got quite a few of them when I tried the current sources. It will take
some time to look at them all.
I have looked at two binutils testsuite failures so far.
>FAIL: readelf -s
This one fails because the IA-64 symbol table entries are in a different
order than expected by the testsuite. However, the same info as expected
by the testsuite is there. The lines are just printed in a different order.
I don't know as yet whether the testsuite needs to be fixed, or whether the
IA-64 port needs to be fixed. Either way this seems pretty unimportant.
>FAIL: readelf -r
This one fails because readelf and/or the readelf testsuite is not 64-bit
clean. Readelf uses %5.5lx in dump_relocations to print out a reloc info
field. For 32-bit ELF this is OK, because there are 24 bits for the symbol
index and 8 bits for the type, so 5 hex digits will be enough for the first
4k entries in the symbol table. The testsuite then assumes that this number
will start with two zeroes for this testcase, as the symbol index will fit in
one hex digit. For 64-bit ELF this is not OK. There are 32 bits for the
symbol index and 32 bits for the type. For this testcase, the info field
is 9 hex digits, and since the format is 5 hex digits, it gets printed out
without any leading zeroes. Thus we fail to match the pattern expected by
the testsuite and this test fails.
This can be fixed by increasing the number of hex digits printed for 64-bit
ELF files to 11. Or it could be fixed by changing the pattern in the
binutils/testsuite/binutils-all/readelf.r file for the info field. Currently
it is 00.* which will work for 32-bit ELF but not 64-bit ELF.
Jim