This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: egcs-971105 on Openserver 5.04


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]