Command line parsing bug in g++ egcs 1.1 (resend)
Eric Dana
edana@bgs.com
Fri Nov 6 09:38:00 GMT 1998
The EGCS 1.1 g++ compiler seems to be reordering the order of libraries
specified on a command line. This has caused us some problems :(.
The g++ 2.7.2 compiler does NOT perform the reordering. Both the gcc
and EGCS 1.1 gcc compiler do NOT perform the reordering either. Look
for 'Read Here' in this message (2 instances) to see the ordering
problem. The details follow.
--Eric Dana--
Configuration:
SparcStation-20
Solaris 2.5
gcc 2.7.2 (this is the default compiler)
egcs 1.1
g++ -v test1.C -lc -L/usr/ucblib -lucb
gcc -v test1.C -lc -L/usr/ucblib -lucb -lg++ -lstdc++ -lm
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/specs
gcc version 2.7.2
/usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/cpp -lang-c++ -v -undef
-D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=7 -Dsun -Dsparc
-Dunix -D__svr4__ -D__SVR4 -D__GCC_NEW_VARARGS__ -D__sun__ -D__sparc__
-D__unix__ -D__svr4__ -D__SVR4 -D__GCC_NEW_VARARGS__ -D__sun -D__sparc
-D__unix -Asystem(unix) -Asystem(svr4) -Acpu(sparc) -Amachine(sparc)
test1.C /var/tmp/cca004.g.ii
GNU CPP version 2.7.2 (sparc)
#include "..." search starts here:
#include <...> search starts here:
/usr/local/lib/g++-include
/usr/local/include
/usr/local/sparc-sun-solaris2.5/include
/usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/include
/usr/include
End of search list.
/usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/cc1plus
/var/tmp/cca004.g.ii -quiet -dumpbase test1.cc -version -o
/var/tmp/cca004.g.s
GNU C++ version 2.7.2 (sparc) compiled by GNU C version 2.7.2.
/usr/ccs/bin/as -V -Qy -s -o /var/tmp/cca004.g1.o /var/tmp/cca004.g.s
/usr/ccs/bin/as: WorkShop Compilers 4.2 dev 13 May 1996
/usr/ccs/bin/ld -V -Y P,/usr/ccs/lib:/usr/lib -Qy
/usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/crt1.o
/usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/crti.o
/usr/ccs/lib/values-Xa.o
/usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/crtbegin.o
-L/usr/ucblib -L/usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2
-L/usr/local/sparc-sun-solaris2.5/lib -L/usr/ccs/bin -L/usr/ccs/lib
-L/usr/local/lib /var/tmp/cca004.g1.o
------Read Here----
-lc -lucb -lg++ -lstdc++ -lm -lgcc -lc -lgcc
-------------------
/usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/crtend.o
/usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/crtn.o
ld: Software Generation Utilities (SGU) SunOS/ELF (LK-2.0 (S/I) - versioning)
/bmc/tools/egcs/bin/g++ -v test1.C -lc -L/usr/ucblib -lucb
Reading specs from
/bmc/tools/egcs/lib/gcc-lib/sparc-sun-solaris2.5/egcs-2.91.57/specs
gcc version egcs-2.91.57 19980901 (egcs-1.1 release)
/bmc/tools/egcs/lib/gcc-lib/sparc-sun-solaris2.5/egcs-2.91.57/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=91 -Dsparc -Dsun -Dunix -D__svr4__ -D__SVR4 -D__sparc__ -D__sun__ -D__unix__ -D__svr4__ -D__SVR4 -D__sparc -D__
sun -D__unix -Asystem(unix) -Asystem(svr4) -D__EXCEPTIONS -D__GCC_NEW_VARARGS__ -Acpu(sparc) -Amachine(sparc) test1.C /var/tmp/cc9Gbpd6.ii
GNU CPP version egcs-2.91.57 19980901 (egcs-1.1 release) (sparc)
#include "..." search starts here:
#include <...> search starts here:
/bmc/tools/egcs/include/g++
/usr/local/include
/bmc/tools/egcs/sparc-sun-solaris2.5/include
/bmc/tools/egcs/lib/gcc-lib/sparc-sun-solaris2.5/egcs-2.91.57/include
/usr/include
End of search list.
/bmc/tools/egcs/lib/gcc-lib/sparc-sun-solaris2.5/egcs-2.91.57/cc1plus
/var/tmp/cc9Gbpd6.ii -quiet -dumpbase test1.cc -version -o /var/tmp/ccs8kwMa.s
GNU C++ version egcs-2.91.57 19980901 (egcs-1.1 release)
(sparc-sun-solaris2.5) compiled by GNU C version egcs-2.91.57 19980901
(egcs-1.1 release).
/bmc/tools/egcs/sparc-sun-solaris2.5/bin/as -V -Qy -s
-o /var/tmp/cc0cdweZ.o /var/tmp/ccs8kwMa.s
GNU assembler version 2.9.1 (sparc-sun-solaris2.5), using BFD version 2.9.1
/bmc/tools/egcs/lib/gcc-lib/sparc-sun-solaris2.5/egcs-2.91.57/collect2
-V -Y P,/usr/ccs/lib:/usr/lib -Qy
/bmc/tools/egcs/lib/gcc-lib/sparc-sun-solaris2.5/egcs-2.91.57/crt1.o
/bmc/tools/egcs/lib/gcc-lib/sparc-sun-solaris2.5/egcs-2.91.57/crti.o
/usr/ccs/lib/values-Xa.o
/bmc/tools/egcs/lib/gcc-lib/sparc-sun-solaris2.5/egcs-2.91.57/crtbegin.o
-L/usr/ucblib -L/bmc/tools/egcs/lib/gcc-lib/sparc-sun-solaris2.5/egcs-2.91.57
-L/bmc/tools/egcs/sparc-sun-solaris2.5/lib -L/usr/ccs/bin -L/usr/ccs/lib
-L/bmc/tools/egcs/lib /var/tmp/cc0cdweZ.o
------Read Here----
-lucb -lstdc++ -lm -lc -lgcc -lc -lgcc
-------------------
/bmc/tools/egcs/lib/gcc-lib/sparc-sun-solaris2.5/egcs-2.91.57/crtend.o
/bmc/tools/egcs/lib/gcc-lib/sparc-sun-solaris2.5/egcs-2.91.57/crtn.o
GNU ld version 2.9.1 (with BFD 2.9.1)
Supported emulations:
elf32_sparc
test1.C
#include <iostream.h>
main()
{
cout << "This is a test\n";
}
More information about the Gcc-bugs
mailing list