This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Mainline bootstrap failure on Tru64 UNIX V5.1
- From: Rainer Orth <ro at TechFak dot Uni-Bielefeld dot DE>
- To: Zack Weinberg <zack at codesourcery dot com>
- Cc: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 21 Jan 2003 19:42:12 +0100 (MET)
- Subject: Mainline bootstrap failure on Tru64 UNIX V5.1
Zack,
current mainline doesn't bootstrap on alpha-dec-osf5.1 (HP Tru64 UNIX V5.1):
It fails trying to compile crtfastmath.c (the first invokation of the newly
built xgcc) since mips-tfile is invoked incorrectly:
/vol/gcc/obj/gcc-3.4-20030120/5.1-gcc/gcc/xgcc -B/vol/gcc/obj/gcc-3.4-20030120/5.1-gcc/gcc/ -B/vol/gcc/share/alpha-dec-osf5.1/bin/ -B/vol/gcc/share/alpha-dec-osf5.1/lib/ -isystem /vol/gcc/share/alpha-dec-osf5.1/include -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -c -o crtfastmath.o /vol/gnu/src/gcc/gcc-dist/gcc/config/alpha/crtfastmath.c
/vol/gnu/src/gcc/gcc-dist/gcc/config/alpha/crtfastmath.c:47: warning: no previous prototype for `_GLOBAL__I__vol_gnu_src_gcc_gcc_dist_gcc_config_alpha_crtfastmath.cTGld6a'
Calling Sequence:
mips-tfile [-d <num>] [-v] [-i <o-in-file>] -o <o-out-file> <s-file> (or)
mips-tfile [-d <num>] [-v] [-I <o-in-file>] -o <o-out-file> <s-file> (or)
mips-tfile [-d <num>] [-v] <s-file> <o-in-file> <o-out-file>
Debug levels are:
1 General debug + trace functions/blocks.
2 Debug level 1 + trace externals.
3 Debug level 2 + trace all symbols.
4 Debug level 3 + trace memory allocations.
make[2]: *** [crtfastmath.o] Error 1
Invoking xgcc manually with an empty test.c shows the following:
% ./xgcc -B./ -v -c test.c
[...]
as -g -oldas -c -nocpp -O0 -o test.o /tmp//ccIiVBip.s
./mips-tfile -v -o test.o
whereas xgcc as of 20021215 (immediately before the bib merge) invokes
mips-tfile as follows:
as -g -oldas -c -nocpp -O0 -o test.o /tmp//ccQz9I9S.s
./mips-tfile -v -o test.o /tmp//ccQz9I9S.s
i.e. it adds the assembler source file to the invokation. Binary search
revealed that the bib merge broke this. Comparing the specs file between
those points in time (20021217, broken, and 20021215, ok) gives only one
difference:
*invoke_as:
-%{!S:-o %{|!pipe:%g.s} |
- as %(asm_options) %{!pipe:%g.s} %A }
+%{!S:-o %|.s |
+ as %(asm_options) %m.s %A }
So I supposed that your patch that introduced that change is the culprit:
2002-09-19 Zack Weinberg <zack@codesourcery.com>
* gcc.c (use_pipes): New flag.
(process_command): Set it. Adjust check for -pipe conflicting
with -time or -save-temps.
(do_spec_1): Use it. Handle %|SUFFIX, %mSUFFIX, and
%<SWITCH. Drop %| (without a SUFFIX).
(handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
(give_switch): Third argument eliminated.
(invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
(specs documentation comment): Update.
but applying it to a 20021215 tree still bootstraps. Anyway, many
specs-related changes on bib are from you, so this might be the effect of
one of those.
Comments, suggestions?
Rainer
-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University