🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

2 total messages Started by David C Lawrence Fri, 15 Dec 1989 06:03
GAS, GLD, GCC and G++
#2093
Author: David C Lawrence
Date: Fri, 15 Dec 1989 06:03
135 lines
9007 bytes
I have a feeling this isn't a bug related to Sun4 SunOS 4.0, but just
to me.  (Sigh.)  This relates to GCC 1.36, G++ 1.36.1 and libG++ 1.36.0.

Several places in various installation documentation for GCC and G++
say to use GAS and GLD if you have them.  Well, I do.  Now how do I
tell the compilers to use them?  The documentation never says.  This
is what I see on output of gcc -v test.c -o test:

gcc version 1.36
 /usr/local/gnu/lib/gcc-cpp -v -undef -D__GNUC__ -Dsparc -Dsun -Dunix -D__sparc__ -D__sun__ -D__unix__ test.c /usr/tmp/cca02592.cpp
GNU CPP version 1.36
 /usr/local/gnu/lib/gcc-cc1 /usr/tmp/cca02592.cpp -quiet -dumpbase test.c -version -o /usr/tmp/cca02592.s
GNU C version 1.36 (sparc) compiled by GNU C version 1.36.
default target switches: -mfpu -mepilogue
 as -o test.o /usr/tmp/cca02592.s
 /usr/local/gnu/lib/gcc-ld -o test -e start -dc -dp /lib/crt0.o test.o /usr/local/gnu/lib/gcc-gnulib -lc

"as" just sits out there all alone.  I don't see anything in the
Makefile to change, or in the couple of config files (even the ones
that have "gas.h" in their name) that I checked.  I looked at the
strings in gcc.c and don't see, within the past forty-five minutes of
trying to figure this out, how come /usr/local/gnu/lib/gcc- is getting
prepended to cpp, cc1 and ld, but not to as.  I don't really want it
prepended to as, anyway, because I want it to use /usr/local/gnu/bin/gas.
gnu ld from binutils is also in /usr/local/gnu/bin.

Help?

I've been looking at doing this for GCC right now in anticipation of
doing it for G++.  I built g++ but when I went to libg++ to make
src/libg++.a it died right away on the very first file, builtin.cc,
complaining that -fchar-charconst was an unrecognised flag.  When I
removed that flag from the src/Makefile (which bore the ominous
comment "# the fchar-charconst flag is mandatory for some stream ops
to work sensibly") it died for something else which I don't remember
right now.  Hang on ...

$ make src/libg++.a
(cd src; make GXX="g++"  GXXFLAGS=" -I/src/gnu/libg++/g++-include -g -O -fstrength-reduce  -felide-constructors -fschedule-insns -fdelayed-branch -fsave-memoized   -pipe" GXXLDFLAGS="-L/src/gnu/libg++/src -lg++ -lm " LIBDIR="/usr/local/gnu/lib" SRCIDIR="/src/gnu/libg++/g++-include" CC="gcc" CFLAGS=" -I/usr/local/gnu/lib/gcc-include -I/usr/include -I/src/gnu/libg++/g++-include -g -O -fstrength-reduce -fdelayed-branch   -pipe" RANLIB="ranlib" LDXX="ld" GXXCRT1="/usr/local/gnu/lib/crt1+.o" MAKE="make" prefix=


"/usr/local/gnu" )
g++ -I/src/gnu/libg++/g++-include -g -O -fstrength-reduce  -felide-constructors
-fschedule-insns -fdelayed-branch -fsave-memoized   -pipe -I.. -c  builtin.cc
In file included from /src/gnu/libg++/g++-include/sys/time.h:3, from builtin.cc:
316:
/src/gnu/libg++/g++-include/time.h:60: warning: type declaration of timezone shadows previous declaration
/src/gnu/libg++/g++-include/time.h:60: warning: `timezone' was declared `extern' and later `static'
g++ -I/src/gnu/libg++/g++-include -g -O -fstrength-reduce  -felide-constructors
-fschedule-insns -fdelayed-branch -fsave-memoized   -pipe -I.. -c  File.cc
g++ -I/src/gnu/libg++/g++-include -g -O -fstrength-reduce  -felide-constructors
-fschedule-insns -fdelayed-branch -fsave-memoized   -pipe -I.. -c  stream.cc
stream.cc:28: argument list for `ostream' does not match any in class
stream.cc: In method ostream::ostream (const char *, enum io_mode, enum access_mode):
stream.cc:31: base class initializer specified, but no base class to initialize
stream.cc: In method ostream::ostream (const char *, const char *):
stream.cc:34: base class initializer specified, but no base class to initialize
stream.cc: In method ostream::ostream (int, enum io_mode (=  1 )):
stream.cc:37: base class initializer specified, but no base class to initialize
stream.cc: In method ostream::ostream (struct _iobuf *):
stream.cc:40: base class initializer specified, but no base class to initialize
stream.cc: In method ostream::ostream (int, char *):
stream.cc:43: base class initializer specified, but no base class to initialize
stream.cc: At top level:
stream.cc:48: argument list for `istream' does not match any in class
stream.cc:53: argument list for `istream' does not match any in class
stream.cc: In method istream::istream (const char *, enum io_mode, enum access_mode):
stream.cc:53: base class initializer specified, but no base class to initialize
stream.cc: At top level:
stream.cc:59: argument list for `istream' does not match any in class
stream.cc: In method istream::istream (const char *, const char *):
stream.cc:59: base class initializer specified, but no base class to initialize
stream.cc: At top level:
stream.cc:65: argument list for `istream' does not match any in class
stream.cc: In method istream::istream (int, enum io_mode (=  0 )):
stream.cc:65: base class initializer specified, but no base class to initialize
stream.cc: At top level:
stream.cc:71: argument list for `istream' does not match any in class
stream.cc: In method istream::istream (struct _iobuf *):
stream.cc:71: base class initializer specified, but no base class to initialize
stream.cc: At top level:
stream.cc:77: argument list for `istream' does not match any in class
stream.cc: In method istream::istream (int, char *):
stream.cc:77: base class initializer specified, but no base class to initialize
stream.cc: In method class ostream *istream::tie (class ostream *):
stream.cc:86: redefinition of `class ostream *istream::tie (class ostream *)'
/src/gnu/libg++/g++-include/stream.h:445: here is the previous declaration of `class ostream *istream::tie (class ostream *)'
stream.cc: At top level:
stream.cc:103: no `scan' member function declared in class
stream.cc: In method class istream &istream::scan (const char *, ...):
stream.cc:109: `stat' undeclared (first use this function)
stream.cc:109: (Each undeclared identifier is reported only once
stream.cc:109: for each function it appears in.)
stream.cc:109: `fp' undeclared (first use this function)
stream.cc: In method class istream &istream::operator >> (short int &):
stream.cc:118: warning: implicit declaration of function `scan'
stream.cc:118: ambiguous type conversion requested for constructor `istream'
stream.cc: In method class istream &istream::operator >> (unsigned short int &):
stream.cc:123: ambiguous type conversion requested for constructor `istream'
stream.cc: In method class istream &istream::operator >> (int &):
stream.cc:128: ambiguous type conversion requested for constructor `istream'
stream.cc: In method class istream &istream::operator >> (unsigned int &):
stream.cc:133: ambiguous type conversion requested for constructor `istream'
stream.cc: In method class istream &istream::operator >> (long int &):
stream.cc:138: ambiguous type conversion requested for constructor `istream'
stream.cc: In method class istream &istream::operator >> (long unsigned int &):
stream.cc:143: ambiguous type conversion requested for constructor `istream'
stream.cc: In method class istream &istream::operator >> (float &):
stream.cc:148: ambiguous type conversion requested for constructor `istream'
stream.cc: In method class istream &istream::operator >> (double &):
stream.cc:153: ambiguous type conversion requested for constructor `istream'
stream.cc: In method class istream &istream::operator >> (char *):
stream.cc:158: ambiguous type conversion requested for constructor `istream'
stream.cc: In method class ostream &ostream::form (const char *, ...):
stream.cc:168: `stat' undeclared (first use this function)
stream.cc:168: `fp' undeclared (first use this function)
stream.cc: In function void eatwhite (class istream &):
stream.cc:216: redefinition of `void eatwhite (class istream &)'
/src/gnu/libg++/g++-include/stream.h:460: here is the previous declaration of `void eatwhite (class istream &)'
make[1]: *** [stream.o] Error 1
make: *** [src/libg++.a] Error 1

I know precious little about the C++ language at this point, but I'd
like to get g++ working for our users on the sparcs, Sun3s, Balance
8000 and 21000, and DECstations.   I know it can work on the Suns; the
Balances worry me. :-/

One last thing: there is a comment in HINTS where Michael says he will
fix the old problem I had with -nfp- configurations, where the
LINK_SPEC was mixed up.  Shouldn't this comment be removed now, just
to keep the extra information to a minimum?

Dave
-- 
   (setq mail '("tale@cs.rpi.edu" "tale@ai.mit.edu" "tale@rpitsmts.bitnet"))
Re: GAS, GLD, GCC and G++
#2097
Author: amante%asgard
Date: Fri, 15 Dec 1989 22:13
26 lines
1655 bytes
In <8912150603.AA03018@turing.cs.rpi.edu> David C Lawrence mentions:
>>  "as" just sits out there all alone.  I don't see anything in the
>>  Makefile to change, or in the couple of config files (even the ones
>>  that have "gas.h" in their name) that I checked.  I looked at the
>>  strings in gcc.c and don't see, within the past forty-five minutes of
>>  trying to figure this out, how come /usr/local/gnu/lib/gcc- is getting
>>  prepended to cpp, cc1 and ld, but not to as.  I don't really want it
>>  prepended to as, anyway, because I want it to use /usr/local/gnu/bin/gas.
>>  gnu ld from binutils is also in /usr/local/gnu/bin.


It's probably because you don't have the executable "gcc-as"
in /usr/local/gnu/lib. One way out of this is to have a
copy of your "as" and "ld" in the said directory and
rename them as gcc-as and gcc-ld. Another
possibility is to link (`ln') /usr/local/gnu/bin/gas to
/usr/local/gnu/lib/gcc-as. Do likewise to "ld".
(You can look at gcc.c for the 

	#define STANDARD_EXEC_PREFIX
	
to learn more about how the prefixes for executables are set
for gcc/g++. In fact, you can modify this #define to suit
your own needs.)

Hope this helps ...	Amante
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads