From mboxrd@z Thu Jan 1 00:00:00 1970 From: Brad Lucier To: lucier@math.purdue.edu, toon@moene.indiv.nluug.nl Cc: gcc@gcc.gnu.org Subject: Re: f77 correctness on Sparc Date: Mon, 18 Sep 2000 11:59:00 -0000 Message-id: <200009181859.NAA11387@polya.math.purdue.edu> X-SW-Source: 2000-09/msg00410.html Toon Moene wrote: > > The vast majority of the extra problems are similar; did something not get built > > or multilib'ed?: > > > spawn /export/home/sources/egcs/solaris-2.8/gcc/g77 -B/export/home/sources/egcs/solaris-2.8/gcc/ /export/home/sources/egcs/gcc/testsuite/g77.f-torture/execute/19990826-0.f -w -Os -mcpu=ultrasparc -m64 -L/export/home/sources/egcs/solaris-2.8/sparc-sun-solaris2.8/libf2c -lm -o /export/home/sources/egcs/solaris-2.8/gcc/testsuite/19990826-0.x > > Undefined first referenced > > symbol in file > > s_stop /tmp/ccOagkee.o > > G77_abort_0 /tmp/ccOagkee.o > > main > > These are symptoms that libf2c wasn't found at the right moment in the > right place (during linking). I.e., even if the compiler proper didn't > run into any problem at all, still the code couldn't be executed because > the link failed. Unfortunately, this looks sufficiently different from > link command lines on my i686-pc-linux-gnu that I can't say what the > error is. I looked through the build log (which was a bit confused, because I did a parallel make), and found Adding multilib support to Makefile in ../../../libf2c multidirs=sparcv9 with_multisubdir= Running configure in multilib subdirs sparcv9 pwd: /export/home/sources/egcs/solaris-2.8/sparc-sun-solaris2.8/libf2c Running configure in multilib subdir sparcv9 which was the same for the other libraries (libchill, etc.). Now, things are compiled in the sparcv9 subdirectory with, e.g., /export/home/sources/egcs/solaris-2.8/gcc/xgcc -B/export/home/sources/egcs/solaris-2.8/gcc/ -B/pkgs/gcc-2.96/sparc-sun-solaris2.8/bin/ -B/pkgs/gcc-2.96/sparc-sun-solaris2.8/lib/ -isystem /pkgs/gcc-2.96/sparc-sun-solaris2.8/include -c -DSkip_f2c_Undefs -DAllow_TYQUAD -I. -I../../../../../libf2c/libI77 -I.. -I../../../../../libf2c/libI77/.. -DSTDC_HEADERS=1 -D_POSIX_SOURCE=1 -DHAVE_TEMPNAM=1 -DNON_ANSI_RW_MODES=1 -DNO_EOF_CHAR_CHECK=1 -DSkip_f2c_Undefs=1 -g -O2 -m64 ../../../../../libf2c/libI77/ftell_.c which is, to me, a bit strange, unless -m64 implies -mcpu=sparcv9. And, shouldn't there be two versions of the library, one 32-bit binaries on sparcv9 (i.e., "-mcpu=sparcv9 -m32") and 64-bit binaries on sparcv9 ("-mcpu=sparcv9 -m64")? FWIW, the other libraries are compiled with similar options: make[4]: Entering directory `/export/home/sources/egcs/solaris-2.8/sparc-sun-solaris2.8/sparcv9/libchill' /export/home/sources/egcs/solaris-2.8/gcc/xgcc -B/export/home/sources/egcs/solaris-2.8/gcc/ -B/pkgs/gcc-2.96/sparc-sun-solaris2.8/bin/ -B/pkgs/gcc-2.96/sparc-sun-solaris2.8/lib/ -isystem /pkgs/gcc-2.96/sparc-sun-solaris2.8/include -c -I. -I../../../../libchill -g -O2 -m64 ../../../../libchill/chillrt0.c etc. Brad Lucier