GCC 2.95.1 'make bootstrap' oddities on Solaris
Dana, Eric
Eric_Dana@bmc.com
Tue Aug 31 23:20:00 GMT 1999
Dimitri,
I experienced the same results with Solaris 2.5 and 2.6. I worked
the problem by:
1.) Use binutils 2.9.1 as/ld for the gcc 2.95.1
2.) Set my path to:
PATH=.:/output-dir/bin:/bin:/usr/bin:/usr/ccs/bin
Where 'output-dir- is the prefix directory.
It seems if /usr/local/bin was in my path, the build would fail
just like yours.
--Eric--
-----Original Message-----
From: Dimitri Papadopoulos [ mailto:papadopo@shfj.cea.fr ]
Sent: Friday, August 20, 1999 11:00 AM
To: gcc@gcc.gnu.org
Subject: GCC 2.95.1 'make bootstrap' oddities on Solaris
Hello,
I am trying to 'make bootstrap' GCC 2.95.1 on Solaris 7. I got some
segfaults
during build, but finally managed to build GCC. I would appreciate some
insight
on what did happen.
The initial situation is as follows:
- The previously installed compiler is egcs-1.1.2.
- /usr/ucb is not in the PATH and /usr/ccs/bin contains Sun's as and ld with
the
latest patches available (107058-01 for as).
- The egcs-1.1.2 compiler may use GNU as and GNU ld from binutils-2.9.1.
This is
achieved following the FAQ instructions:
cd <egcs>/lib/gcc-lib/sparc-sun-solaris2.7/egcs-2.91.66
ln -s <binutils>/bin/as
ln -s <binutils>/bin/ld
Then I try to build GCC 2.95.1. Here are 3 different scenarios:
1) - egcs-1.1.2 uses GNU as and ld following the FAQ instructions
- directory /usr/ccs/bin is in the PATH, so Sun as and ld are available
I get a segfault:
$ ./configure --enable-shared
$ make bootstrap
[...]
stage1/xgcc -Bstage1/
-B/pub_dom/gcc-2.95.1/sparc-sun-solaris2.7/bin/ -DIN_GCC -DHAIFA -DSVR4
-O2 -g -O2 -DHAVE_CONFIG_H -o gengenrtl \
gengenrtl.o ` case "obstack.o" in ?*) echo obstack.o ;; esac ` `
case "alloca.o" in ?*) echo alloca.o ;; esac ` ` case "" in ?*) echo ;;
esac ` ` case "" in ?*) echo ;; esac ` ` case "" in ?*) echo ;; esac `
./gengenrtl tmp-genrtl.h tmp-genrtl.c
make[2]: *** [s-genrtl] Segmentation Fault
make[2]: Leaving directory `/home/papadopo/gcc-2.95.1/gcc'
make[1]: *** [bootstrap] Error 2
make[1]: Leaving directory `/home/papadopo/gcc-2.95.1/gcc'
make: *** [bootstrap] Error 2
$
2) - egcs-1.1.2 uses GNU as and ld following the FAQ instructions
- <binutils>/bin is in the PATH
I am able to build GCC 2.95.1. The resulting compiler yields warnings
at link-time:
$ cat foo.cc
#include <iostream.h>
main() {
cerr << "foo" << endl;
}
$ g++ -o foo foo.cc
ld: warning: file
/pub_dom/gcc-2.95.1/lib/gcc-lib/sparc-sun-solaris2.7/2.95.1/libstdc++.so:
section .stabstr: malformed string table, initial or final byte
$
Is this a bug (incompatibility) in GNU or Sun ld. Any info somenone?
3) - egcs-1.1.2 does _not_ use GNU as and ld
- directory /usr/ccs/bin is in the PATH, so Sun as and ld are available
I am able to build GCC 2.95.1. The resulting compiler seems to be able to
build
with Sun's as and ld. I haven't tried it extensively.
Can someone explain why case 1 results in a segfault?
Thank you in advance,
--
Dimitri Papadopoulos
More information about the Gcc
mailing list