This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: 3.[01] C++ Testing: Support -mabi=64

Jeffrey Oldham <> writes:

> Dave Billinghurst complained that DejaGNU testing gcc 3.0
> mips-sgi-irix6.5 with -mabi=64 yielded many execution failures
> (  A difficulty
> was that the -mabi=64 flags was not being used during the testing
> linking commands so Irix n32 libraries, not 64-bit libraries, were
> being used.
> This patch, tested by Mark Mitchell (, ensures
> that -m... options are passed to g++ compilation and linking commands.
> Wed May 23 2001  Jeffrey D. Oldham  <>
> 	* lib/g++.exp (g++_include_flags): Use args to compute
>  	get_multilibs.
> 	(g++_link_flags): Likewise.
> 	(g++_init): Pass TOOL_OPTIONS as arguments to two above functions.

Unfortunately, this patch has just the opposite effect for me ;-)  Before
it went it, I could successfully test both N32 and N64 ABIs on IRIX 6.2 and
32-bit and 64-bit on Solaris 8.  I'm using command lines like this:

	make RUNTESTFLAGS='--target_board "unix{,-mabi=64}"' check
	make RUNTESTFLAGS='--target_board "unix{,-m64}"' check

With this patch, none of the g++ tests that link with -lstdc++ find the
library anymore:

spawn /vol/gcc/obj/gcc-3.0-20010528/6.2-gcc/gcc/testsuite/../g++ -B/vol/gcc/obj/gcc-3.0-20010528/6.2-gcc/gcc/testsuite/../ /vol/gnu/src/gcc/gcc-3.0-branch-dist/gcc/testsuite/g++.old-deja/g++.abi/arraynew.C -nostdinc++ -I/vol/gcc/obj/gcc-3.0-20010528/6.2-gcc/mips-sgi-irix6.2/libstdc++-v3/include -I/amnt/zacatecas/volumes/d9/gnu/src/gcc/gcc-3.0-branch-dist/libstdc++-v3/include -I/amnt/zacatecas/volumes/d9/gnu/src/gcc/gcc-3.0-branch-dist/libstdc++-v3/include/std -I/amnt/zacatecas/volumes/d9/gnu/src/gcc/gcc-3.0-branch-dist/libstdc++-v3/include/c_std -I/amnt/zacatecas/volumes/d9/gnu/src/gcc/gcc-3.0-branch-dist/libstdc++-v3/libsupc++ -I/amnt/zacatecas/volumes/d9/gnu/src/gcc/gcc-3.0-branch-dist/libstdc++-v3/libio -I/amnt/zacatecas/volumes/d9/gnu/src/gcc/gcc-3.0-branch-dist/libstdc++-v3/testsuite -I/amnt/zacatecas/volumes/d9/gnu/src/gcc/gcc-3.0-branch-dist/libstdc++-v3/include/backwards -I/amnt/zacatecas/volumes/d9/gnu/src/gcc/gcc-3.0-branch-dist/libstdc++-v3/include/ext -fmessage-l!
ength=0 -ansi -pedantic-errors -Wno-long-long -lstdc++ -L/vol/gcc/obj/gcc-3.0-20010528/6.2-gcc/mips-sgi-irix6.2//libstdc++-v3/src/.libs -L/vol/gcc/obj/gcc-3.0-20010528/6.2-gcc/mips-sgi-irix6.2//libiberty -lm -mabi=64 -o /vol/gcc/obj/gcc-3.0-20010528/6.2-gcc/gcc/testsuite/g++-abi-arraynew-C.exe 
ld64: FATAL 12: Expecting 64-bit objects: /vol/gcc/obj/gcc-3.0-20010528/6.2-gcc/mips-sgi-irix6.2//libstdc++-v3/src/.libs/ is n32.
collect2: ld returned 4 exit status
compiler exited with status 1

As you can see, the mabi=64 subdirectory of mips-sgi-irix6.2 is missing
from the -L switches above.

Backing out the patch returns the multilib testsuite to working condition


Rainer Orth, Faculty of Technology, Bielefeld University

Email: ro@TechFak.Uni-Bielefeld.DE

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]