Crosscompiler: gcc 3.1 on linux for sparc ?

Heiko Nardmann h.nardmann@secunet.de
Wed Jun 12 09:00:00 GMT 2002


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I have problems compiling gcc as a cross compiler.

I successfully build binutils 2.12.1 using the following command line:
./configure --host=i686-pc-linux-gnu --prefix=/opt/binutils-2.12.1 
- --target=sparcv9-solaris --enable-64-bit-bfd --enable-bfd-assembler 
- --enable-commonbfdlib

Now I configured gcc as follows:
env PATH=/opt/binutils-2.12.1/bin:$PATH ../gcc-3.1/configure 
- --host=i686-pc-linux-gnu --prefix=/opt/sparc-crossgcc-3.1 --with-gnu-as 
- --with-as=/opt/binutils-2.12.1/bin/sparcv9-solaris-as --with-gnu-ld 
- --with-ld=/opt/binutils-2.12.1/bin/sparcv9-solaris-ld
- --enable-threads=solaris --target=sparcv9-solaris

Is something wrong with this procedure?

Now I get the the error given as the attachment:
env PATH=/opt/binutils-2.12.1/bin:$PATH make >& make.out

It complains about missing abort(), missing thread.h and missing errno.h.

Has anyone experienced the same problem?

I don't know whether this has to be called already a gcc bug (which has to be 
stated somewhere else - I know) ... ?

- -- 
Heiko Nardmann (Dipl.-Ing.), h.nardmann@secunet.de, Software Development
secunet Security Networks AG - Sicherheit in Netzwerken (www.secunet.de),
Weidenauer Str. 223-225, D-57076 Siegen
Tel. : +49 271 48950-13, Fax  : +49 271 48950-50
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iEYEARECAAYFAj0HcAkACgkQpm53PRScYyib4QCg+27QbyxtR5moIadQEzQCXifF
IEoAoIM2WZsYxWt7uMylY4H5OyAAO8ps
=JG91
-----END PGP SIGNATURE-----
-------------- next part --------------
make[1]: Entering directory `/home3/nardmann/gcc-3.1.objdir/libiberty'
make[2]: Entering directory `/home3/nardmann/gcc-3.1.objdir/libiberty/testsuite'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home3/nardmann/gcc-3.1.objdir/libiberty/testsuite'
make[1]: Leaving directory `/home3/nardmann/gcc-3.1.objdir/libiberty'
make[1]: Entering directory `/home3/nardmann/gcc-3.1.objdir/zlib'
true "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-g -O2" "CXXFLAGS=-g -O2" "CFLAGS_FOR_BUILD=" "CFLAGS_FOR_TARGET=-g -O2" "INSTALL=/bin/sh /home3/nardmann/gcc-3.1/install-sh -c" "INSTALL_DATA=/bin/sh /home3/nardmann/gcc-3.1/install-sh -c -m 644" "INSTALL_PROGRAM=/bin/sh /home3/nardmann/gcc-3.1/install-sh -c " "INSTALL_SCRIPT=/bin/sh /home3/nardmann/gcc-3.1/install-sh -c" "LDFLAGS=" "LIBCFLAGS=-g -O2" "LIBCFLAGS_FOR_TARGET=-g -O2" "MAKE=make" "MAKEINFO=makeinfo  " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "EXPECT=expect" "RUNTEST=runtest" "RUNTESTFLAGS=" "exec_prefix=/opt/sparc-crossgcc-3.1" "infodir=/opt/sparc-crossgcc-3.1/info" "libdir=/opt/sparc-crossgcc-3.1/lib" "prefix=/opt/sparc-crossgcc-3.1" "tooldir=/opt/sparc-crossgcc-3.1/sparcv9-solaris" "AR=ar" "AS=as" "CC=gcc" "CXX=c++" "LD=ld" "LIBCFLAGS=-g -O2" "NM=nm" "PICFLAG=" "RANLIB=ranlib" "DESTDIR=" DO=all multi-do
make[1]: Leaving directory `/home3/nardmann/gcc-3.1.objdir/zlib'
make[1]: Entering directory `/home3/nardmann/gcc-3.1.objdir/fastjar'
make[1]: Leaving directory `/home3/nardmann/gcc-3.1.objdir/fastjar'
make[1]: Entering directory `/home3/nardmann/gcc-3.1.objdir/gcc'
(cd intl && make all)
make[2]: Entering directory `/home3/nardmann/gcc-3.1.objdir/gcc/intl'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home3/nardmann/gcc-3.1.objdir/gcc/intl'
make GCC_FOR_TARGET="/home3/nardmann/gcc-3.1.objdir/gcc/xgcc -B/home3/nardmann/gcc-3.1.objdir/gcc/ -B/opt/sparc-crossgcc-3.1/sparcv9-solaris/bin/ -B/opt/sparc-crossgcc-3.1/sparcv9-solaris/lib/ -isystem /opt/sparc-crossgcc-3.1/sparcv9-solaris/include" \
  HOST_PREFIX="" HOST_PREFIX_1="loser-" \
  AR_FOR_TARGET="sparcv9-solaris-ar" \
  AR_CREATE_FOR_TARGET="sparcv9-solaris-ar  rc" \
  AR_FLAGS_FOR_TARGET="" \
  CFLAGS="-g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long" \
  RANLIB_FOR_TARGET="sparcv9-solaris-ranlib" \
  RANLIB_TEST_FOR_TARGET="[ -f sparcv9-solaris-ranlib ] || ( [ "i686-pc-linux-gnu" = "sparcv9-unknown-solaris2" ] && [ -f /usr/bin/ranlib -o -f /bin/ranlib ] )" \
  NM_FOR_TARGET="nm" AWK="gawk" \
  LIBGCC2_CFLAGS="-O2  -DIN_GCC -DCROSS_COMPILE   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include  -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc" \
  INCLUDES="-I. -I. -I/home3/nardmann/gcc-3.1/gcc -I/home3/nardmann/gcc-3.1/gcc/. -I/home3/nardmann/gcc-3.1/gcc/config -I/home3/nardmann/gcc-3.1/gcc/../include" \
  CONFIG_H="config.h auto-host.h /home3/nardmann/gcc-3.1/gcc/../include/ansidecl.h /home3/nardmann/gcc-3.1/gcc/config/sparc/biarch64.h /home3/nardmann/gcc-3.1/gcc/config/sparc/sparc.h /home3/nardmann/gcc-3.1/gcc/config/dbxelf.h /home3/nardmann/gcc-3.1/gcc/config/elfos.h /home3/nardmann/gcc-3.1/gcc/config/svr4.h /home3/nardmann/gcc-3.1/gcc/config/sparc/sysv4.h /home3/nardmann/gcc-3.1/gcc/config/sparc/sol2.h /home3/nardmann/gcc-3.1/gcc/config/sparc/sol2-64.h /home3/nardmann/gcc-3.1/gcc/config/sparc/sol2-bi.h /home3/nardmann/gcc-3.1/gcc/config/sparc/sol2-gld.h /home3/nardmann/gcc-3.1/gcc/config/sparc/sol2-gld-bi.h /home3/nardmann/gcc-3.1/gcc/config/sparc/sol2-gas-bi.h defaults.h insn-constants.h insn-flags.h" MACHMODE_H="machmode.h machmode.def" \
  LIB1ASMSRC='' \
  MAKEOVERRIDES= \
  -f libgcc.mk all
make[2]: Entering directory `/home3/nardmann/gcc-3.1.objdir/gcc'
for d in libgcc sparcv7 libgcc/sparcv7; do \
  if [ -d $d ]; then true; else /bin/sh /home3/nardmann/gcc-3.1/gcc/mkinstalldirs $d; fi; \
done
if [ -f stmp-dirs ]; then true; else touch stmp-dirs; fi
/home3/nardmann/gcc-3.1.objdir/gcc/xgcc -B/home3/nardmann/gcc-3.1.objdir/gcc/ -B/opt/sparc-crossgcc-3.1/sparcv9-solaris/bin/ -B/opt/sparc-crossgcc-3.1/sparcv9-solaris/lib/ -isystem /opt/sparc-crossgcc-3.1/sparcv9-solaris/include -O2  -DIN_GCC -DCROSS_COMPILE   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include  -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I/home3/nardmann/gcc-3.1/gcc -I/home3/nardmann/gcc-3.1/gcc/. -I/home3/nardmann/gcc-3.1/gcc/config -I/home3/nardmann/gcc-3.1/gcc/../include -fexceptions -c /home3/nardmann/gcc-3.1/gcc/unwind-dw2.c -o libgcc/./unwind-dw2.o
In file included from /home3/nardmann/gcc-3.1/gcc/unwind-dw2.c:26:
/home3/nardmann/gcc-3.1/gcc/unwind-pe.h: In function `size_of_encoded_value':
/home3/nardmann/gcc-3.1/gcc/unwind-pe.h:76: warning: implicit declaration of function `abort'
In file included from gthr-default.h:1,
                 from /home3/nardmann/gcc-3.1/gcc/gthr.h:98,
                 from /home3/nardmann/gcc-3.1/gcc/unwind-dw2.c:28:
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:38:20: thread.h: Datei oder Verzeichnis nicht gefunden
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:39:19: errno.h: Datei oder Verzeichnis nicht gefunden
In file included from gthr-default.h:1,
                 from /home3/nardmann/gcc-3.1/gcc/gthr.h:98,
                 from /home3/nardmann/gcc-3.1/gcc/unwind-dw2.c:28:
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h: At top level:
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:41: parse error before "__gthread_key_t"
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:41: warning: type defaults to `int' in declaration of `__gthread_key_t'
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:41: warning: data definition has no type or storage class
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:44: parse error before "mutex_t"
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:44: warning: no semicolon at end of struct or union
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:46: parse error before '}' token
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:46: warning: type defaults to `int' in declaration of `__gthread_once_t'
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:46: warning: data definition has no type or storage class
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:47: parse error before "__gthread_mutex_t"
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:47: warning: type defaults to `int' in declaration of `__gthread_mutex_t'
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:47: warning: data definition has no type or storage class
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h: In function `__gthread_active_p':
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:87: `thr_create' undeclared (first use in this function)
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:87: (Each undeclared identifier is reported only once
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:87: for each function it appears in.)
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h: At top level:
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:385: parse error before '*' token
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:385: parse error before ')' token
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:403: parse error before '&' token
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:403: warning: type defaults to `int' in declaration of `mutex_unlock'
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:403: warning: function declaration isn't a prototype
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:403: warning: data definition has no type or storage class
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:409: parse error before '*' token
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:409: parse error before ')' token
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:421: parse error before "key"
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:422: warning: function declaration isn't a prototype
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:428: parse error before "key"
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:429: warning: function declaration isn't a prototype
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:435: parse error before "key"
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:436: warning: function declaration isn't a prototype
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h: In function `__gthread_getspecific':
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:438: warning: implicit declaration of function `thr_getspecific'
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:438: `key' undeclared (first use in this function)
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h: At top level:
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:445: parse error before "key"
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:446: warning: function declaration isn't a prototype
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h: In function `__gthread_setspecific':
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:447: warning: implicit declaration of function `thr_setspecific'
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:447: `key' undeclared (first use in this function)
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:447: `ptr' undeclared (first use in this function)
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h: At top level:
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:451: parse error before '*' token
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:452: warning: function declaration isn't a prototype
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h: In function `__gthread_mutex_lock':
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:454: warning: implicit declaration of function `mutex_lock'
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:454: `mutex' undeclared (first use in this function)
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h: At top level:
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:460: parse error before '*' token
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:461: warning: function declaration isn't a prototype
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h: In function `__gthread_mutex_trylock':
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:463: warning: implicit declaration of function `mutex_trylock'
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:463: `mutex' undeclared (first use in this function)
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h: At top level:
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:469: parse error before '*' token
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:470: warning: function declaration isn't a prototype
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h: In function `__gthread_mutex_unlock':
/home3/nardmann/gcc-3.1/gcc/gthr-solaris.h:472: `mutex' undeclared (first use in this function)
/home3/nardmann/gcc-3.1/gcc/unwind-dw2.c: In function `extract_cie_info':
/home3/nardmann/gcc-3.1/gcc/unwind-dw2.c:226: warning: implicit declaration of function `strlen'
/home3/nardmann/gcc-3.1/gcc/unwind-dw2.c: In function `uw_frame_state_for':
/home3/nardmann/gcc-3.1/gcc/unwind-dw2.c:899: warning: implicit declaration of function `memset'
/home3/nardmann/gcc-3.1/gcc/unwind-dw2.c: In function `uw_install_context_1':
/home3/nardmann/gcc-3.1/gcc/unwind-dw2.c:1166: syntax error before "once_regsizes"
/home3/nardmann/gcc-3.1/gcc/unwind-dw2.c:1167: warning: implicit declaration of function `__gthread_once'
/home3/nardmann/gcc-3.1/gcc/unwind-dw2.c:1167: `once_regsizes' undeclared (first use in this function)
/home3/nardmann/gcc-3.1/gcc/unwind-dw2.c:1162: warning: unused variable `i'
/home3/nardmann/gcc-3.1/gcc/unwind-dw2.c:1159: warning: unused parameter `current'
/home3/nardmann/gcc-3.1/gcc/unwind-dw2.c:1160: warning: unused parameter `target'
/home3/nardmann/gcc-3.1/gcc/unwind-dw2.c: At top level:
/home3/nardmann/gcc-3.1/gcc/unwind-dw2.c:1176: parse error before "for"
/home3/nardmann/gcc-3.1/gcc/unwind-dw2.c:1179: `target' undeclared here (not in a function)
/home3/nardmann/gcc-3.1/gcc/unwind-dw2.c:1179: `i' undeclared here (not in a function)
/home3/nardmann/gcc-3.1/gcc/unwind-dw2.c:1180: parse error before "if"
make[2]: *** [libgcc/./unwind-dw2.o] Error 1
make[2]: Leaving directory `/home3/nardmann/gcc-3.1.objdir/gcc'
make[1]: *** [stmp-multilib] Error 2
make[1]: Leaving directory `/home3/nardmann/gcc-3.1.objdir/gcc'
make: *** [all-gcc] Error 2

-------------- next part --------------
------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


More information about the crossgcc mailing list