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: Jim Wilson <wilson at cygnus dot com>
- Subject: Re: make check failures on ia64-linux
- From: Andreas Jaeger <aj at suse dot de>
- Date: Tue, 26 Jun 2001 07:11:44 +0200
- Cc: binutils at sources dot redhat dot com
- References: <200106252148.OAA06194@ada.cygnus.com.cygnus.com>
Jim Wilson <wilson@cygnus.com> writes:
> I got quite a few of them when I tried the current sources. It will take
> some time to look at them all.
Thanks for looking into this.
> 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.
It's unimportant - but IMHO a testsuite should pass all tests.
>>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.
readelf -r should be fixed already in the current CVS version - isn't
it?
Andreas
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj