This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: egcs-971105 on Openserver 5.04
- To: Jesper Wolf Jespersen <jwj at dde dot dk>
- Subject: Re: egcs-971105 on Openserver 5.04
- From: Robert Lipe <robertl at dgii dot com>
- Date: Mon, 10 Nov 1997 10:25:11 -0600
- Cc: egcs at cygnus dot com
- References: <9711101105.AA26724@ariane.dde.dk>
> This posting is a bit long, I hope its not just a waste of
> bandwidth :-)
I appreciate the level of detail.
> This is now the third complete snapshot i have downloaded and
> compiled, with the best results yet, but still I cannot complete a
> make check from the top directory.
'make check' is touchy on OpenServer, for sure. I've been meaning
to take it to the matt, but keep getting distracted in other ways.
> To test my egcs I have built a dejagnu from the 971028 snapshot. It
> reports an error in the tcl filename-14.1 test, but otherwise shows
Mine doesn't.
Test Run By robertl on Sat Nov 1 01:35:58 1997
Native configuration is i586-pc-sco3.2v5.0.4
=== tcl tests ===
Running target unix
Running ../../dejagnu-971028/tcl/testsuite/tcl.tests/tcl-test.exp ...
[munch]
=== tcl Summary ===
# of expected passes 3707
Tcl library is version 8.0
I built it with the native tools. (CC="/bin/cc -belf" ../blah/configure )
> Looking into the log file gives this report for tcomplex.cc:
> ---
> "Executing on host: /pub/src/egcs-971105/gcc/xgcc
> "-B/pub/src/egcs-971105/gcc/ ./libstdc++.tests/../../tests/tcomplex.cc \
> "-I.. -I./.. -I./../stl -I. -I/pub/src/egcs-971105/libraries/libio \
> "-I/pub/src/egcs-971105/libraries/libio -g \
> "-L/pub/src/egcs-971105/libraries//libstdc++ -lstdc++ -lm \
> "-o /pub/src/egcs-971105/libraries/libstdc++/testsuite/tcomplex
> "compiler exited with status 1
> "output is:
> "Undefined first referenced
> " symbol in file
> "complex<double> sqrt<double>(complex<double> const &)/usr/tmp/cca006W11.o
> "istream & operator>><double>(istream &, complex<double> &)/usr/tmp/cca006W11.o
Mine does the same thing.
> A very strange thing is that the coff version of this test gives
> the follong result:
> ---
> "Executing on host: gcc ./libstdc++.tests/../../tests/tvector.cc
> "-I.. -I./.. -I.
> "/../stl -I. -g -L/pub/src/egcs-971105/libraries/coff/libstdc++/testsuite/../..
> "/libstdc++ -lstdc++ -lm -o /pub/src/egcs-971105/libraries/coff/libstdc++/test
> "suite/tvector
> "compiler exited with status 1
> "output is:
> "In file included from /usr/local/include/g++/new.h:6,
> " from ../stl/stl_construct.h:34,
> " from ../stl/iterator.h:42,
> " from ../stl/algobase.h:33,
> " from ../stl/vector.h:30,
> " from ./libstdc++.tests/../../tests/tvector.cc:1:
> "/usr/local/include/g++/std/new.h:26: warning: declaration of
> "`operator delete(void *)' throws different exceptions
> "<internal>:26: warning: previous declaration here
> "/usr/local/include/g++/std/new.h:27: warning: declaration of
> "`operator delete []
> "(void *)' throws different exceptions
> "<internal>:27: warning: previous declaration here
> "(EOF):undefined name: .L_T5991
Look at that very carefully and you'll see that there isn't a '-mcoff'
in your command options. Thus, you're mixing ELF and COFF objects and
no good will come of that.
The rest of your test results are consistent with mine. I'm currently
concentrating on the OpenServer-specific stragglers (the ones that don't
fail on Linux :-) and have blown off the libio tests right now becuase
I think that's a runtest/dejagnu issue of some -I or -L or -l not being
set quite right. I could be wrong.
> I dont know how to make the gcc and g++ tests for both ELF and
> COFF, I hope somebody here can tell me how to do those.
I do it with a small handful of not-very-smart scripts.
'negcs' is the "native egcs" that sets my -I flags. It must *not*
ever set -L.
$ cat negcs
G=/play/negcs
S=/play/egcs-971023
L=${G}/libraries
exec ${G}/gcc/xgcc -B${G}/gcc/ \
-I${L}/libio/ \
-I${S}/libio/ \
-I${L}/libstdc++/ \
"$@"
Here's how I run the gcc tests:
$ cat ctest
#!/bin/ksh
ulimit -c 10
COFFDIR=coff-`date +%y%m%d`
ELFDIR=elf-`date +%y%m%d`
[ ! -d ${COFFDIR} ] && mkdir ${COFFDIR}
[ ! -d ${ELFDIR} ] && mkdir ${ELFDIR}
nice runtest --objdir ${ELFDIR} \
--outdir ${ELFDIR} --tool gcc \
--tool_opts="-melf" \
--srcdir /play/*23/gcc/testsuite GCC_UNDER_TEST=./negcs
nice runtest --objdir ${COFFDIR} \
--outdir ${COFFDIR} --tool gcc \
--tool_opts="-mcoff" \
--srcdir /play/*23/gcc/testsuite GCC_UNDER_TEST=./negcs
$ cat cctest
#!/bin/ksh
ulimit -c 10
COFFDIR=coff-`date +%y%m%d`
ELFDIR=elf-`date +%y%m%d`
[ ! -d ${COFFDIR} ] && mkdir ${COFFDIR}
[ ! -d ${ELFDIR} ] && mkdir ${ELFDIR}
nice runtest --outdir ${ELFDIR} --tool g++ \
--srcdir /play/*23/gcc/testsuite \
--tool_opts="-melf" \
GXX_UNDER_TEST="./negcs -L/play/negcs/libraries/libio -L/play/negcs/libr
aries/libstdc++" \
CXXFLAGS="-g -O"
nice runtest --outdir ${COFFDIR} --tool g++ \
--srcdir /play/*23/gcc/testsuite \
--tool_opts="-mcoff" \
GXX_UNDER_TEST="./negcs -L/play/negcs/libraries/coff/libio -L/play/negcs
/libraries/coff/libstdc++" \
CXXFLAGS="-g -O"
> One other observation I made is that the COFF part of libio still
> is being ELF compiled. Sorry I dont know what to do to the
> configure scripts to change this, I just put -mcoff in the Makefile
> in that directory.
I'm not seeing this one. Perhaps you should investigate.
$ file libraries/coff/libio/*.o | grep ELF
(robertl) rjlhome:/play/negcs
$ file libraries/coff/libio/*.o | grep COFF | head
libraries/coff/libio/PlotFile.o: iAPX 386 COFF object file not stripped -
version 30821
libraries/coff/libio/SFile.o: iAPX 386 COFF object file not stripped - version
30821
libraries/coff/libio/builtinbuf.o: iAPX 386 COFF object file not stripped -
version 30821
Note that if you just cd into that directory and do a make, you'll get
ELF becuase the right MULTILIBFLAGS won't be handed down.
> If it is possible to generate a shared version of the ELF librarys
> I would like to know how. The Skunkware 97 version og GCC has
> shared libraries, but I dont know how they were made.
> Is this possible ?
One can supposedly configure with --enable-shared, but I haven't
tried it so far. Until I have the other wierdness banished, I
wasn't inviting more.
> I realy thing the egcs initiative is an improvement its the first
> version of gcc that compiles out of the box on SCO Openserver, and
> it seems quite a few things have improved over gcc version 2.7.2.
You're welcome. Many people have put much work into EGCS. There
are now several OpenServer users on the list (including the two people
most responsible for the various GCC mutants on the various Skunkware
disks since '95) so it should be a pretty solid target upon release.
RJL