This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[IRIX 6.2] Spurious egcs test failures with -mabi=64
- To: egcs-bugs at cygnus dot com, bug-dejagnu at gnu dot org
- Subject: [IRIX 6.2] Spurious egcs test failures with -mabi=64
- From: Rainer Orth <ro at TechFak dot Uni-Bielefeld dot DE>
- Date: Fri, 15 Jan 1999 14:23:41 +0100 (MET)
Running the testsuite of egcs-2.93.01 19990112 on IRIX 6.2 with
RUNTESTFLAGS='--target_board "unix{,-mabi=64}"' to check both the n32 and
n64 ABIs, I found many test failures with -mabi=64, e.g. (from libio.log):
/tmp/egcs/gcc/xgcc -B/tmp/egcs/gcc/ /vol/egcs/src/egcs/egcs/egcs/libio/testsuite/../tests/hounddog.cc -O3 -I.. -I/vol/egcs/src/egcs/egcs/egcs/libio/testsuite/.. -nostdinc++ -I/vol/egcs/src/egcs/egcs/egcs/libstdc++ -I/vol/egcs/src/egcs/egcs/egcs/libstdc++/stl -L/tmp/egcs/mips-sgi-irix6.2//libstdc++ -L/tmp/egcs/mips-sgi-irix6.2//libiberty -L/tmp/egcs/mips-sgi-irix6.2//libiberty -g -lstdc++ -liberty -lm -mabi=64 -o /tmp/egcs/mips-sgi-irix6.2/libio/testsuite/hounddog
ld64: FATAL 12: Expecting 64-bit objects: /tmp/egcs/mips-sgi-irix6.2//libstdc++/libstdc++.so is n32.
So the n64 libraries aren't used, although they are built properly before.
I could trace this down to a bug in both dejagnu 19981026 (distributed from
the egcs infrastructure directory) and the current snapshot 19981224
(distributed from ftp://ftp.cygnus.com/private/gdb/):
While the latter sltready accepts `=' signs in the options part of
gcc --print-multi-lib:
.;
mabi=64;@mabi=64
it fails to do the same in the directory part. The following patch fixes
this:
Fri Jan 15 14:19:31 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* lib/libgloss.exp (get_multilibs): Multilib directories can
contain '=', too.
===================================================================
RCS file: lib/RCS/libgloss.exp,v
retrieving revision 1.1
diff -pu -r1.1 lib/libgloss.exp
--- lib/libgloss.exp 1998/12/24 21:21:44 1.1
+++ lib/libgloss.exp 1999/01/15 13:19:25
@@ -419,7 +419,7 @@ proc get_multilibs { args } {
foreach i "[exec $compiler --print-multi-lib]" {
set opts ""
set dir ""
- regexp -- "\[a-z0-9/\.-\]*;" $i dir
+ regexp -- "\[a-z0-9=/\.-\]*;" $i dir
set dir [string trimright $dir "\;@"]
regexp -- "\;@*\[\@a-zA-Z0-9=/\.-\]*" $i opts
set opts [split [string trimleft $opts "\;@"] "@"]
With this change, the -mabi=64 tests depending on n64 libraries pass
without problems. I'm still waiting for the whole testsuite to finish and
will send results to egcs-testresults once I'm ready.
Rainer
-----------------------------------------------------------------------------
Rainer Orth, Technical Faculty, University of Bielefeld
Internet: ro@TechFak.Uni-Bielefeld.DE