Problems building bi-arch compiler

Udo A. Steinberg us15@os.inf.tu-dresden.de
Sun Jan 6 22:07:00 GMT 2008


Hi all,

I am trying to build a bi-arch compiler for x86 that defaults to -m32 and
additionally supports -m64. Compilation fails with the error shown below.
I'm building from the gcc-4.3-20080104 snapshot sources.

Any ideas what might be going wrong here?

Cheers,

	- Udo



[ -f stage_final ] || echo stage3 > stage_final
make[1]: Entering directory `/tmp/biarch/build'
make[2]: Entering directory `/tmp/biarch/build'
make[3]: Entering directory `/tmp/biarch/build'
rm -f stage_current
make[3]: Leaving directory `/tmp/biarch/build'
make[2]: Leaving directory `/tmp/biarch/build'
make[2]: Entering directory `/tmp/biarch/build'
make[3]: Entering directory `/tmp/biarch/build/libiberty'
make[4]: Entering directory `/tmp/biarch/build/libiberty/testsuite'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/tmp/biarch/build/libiberty/testsuite'
make[3]: Leaving directory `/tmp/biarch/build/libiberty'
make[3]: Entering directory `/tmp/biarch/build/intl'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/biarch/build/intl'
make[3]: Entering directory `/tmp/biarch/build/build-i686-pc-linux-gnu/libiberty'
make[4]: Entering directory `/tmp/biarch/build/build-i686-pc-linux-gnu/libiberty/testsuite'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/tmp/biarch/build/build-i686-pc-linux-gnu/libiberty/testsuite'
make[3]: Leaving directory `/tmp/biarch/build/build-i686-pc-linux-gnu/libiberty'
make[3]: Entering directory `/tmp/biarch/build/build-i686-pc-linux-gnu/fixincludes'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/biarch/build/build-i686-pc-linux-gnu/fixincludes'
make[3]: Entering directory `/tmp/biarch/build/libcpp'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/biarch/build/libcpp'
make[3]: Entering directory `/tmp/biarch/build/libdecnumber'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/biarch/build/libdecnumber'
make[3]: Entering directory `/tmp/biarch/build/gcc'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/biarch/build/gcc'
Checking multilib configuration for libgcc...
make[3]: Entering directory `/tmp/biarch/build/i686-pc-linux-gnu/libgcc'
# If this is the top-level multilib, build all the other
# multilibs.
make[4]: Entering directory `/tmp/biarch/build/i686-pc-linux-gnu/libgcc'
if [ -z "64" ]; then \
	  true; \
	else \
	  rootpre=`${PWDCMD-pwd}`/; export rootpre; \
	  srcrootpre=`cd ../../../gcc-4.3-20080104/libgcc; ${PWDCMD-pwd}`/; export srcrootpre; \
	  lib=`echo "${rootpre}" | sed -e 's,^.*/\([^/][^/]*\)/$,\1,'`; \
	  compiler="/tmp/biarch/build/./gcc/xgcc -B/tmp/biarch/build/./gcc/ -B/usr/i686-pc-linux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem /usr/i686-pc-linux-gnu/include -isystem /usr/i686-pc-linux-gnu/sys-include"; \
	  for i in `${compiler} --print-multi-lib 2>/dev/null`; do \
	    dir=`echo $i | sed -e 's/;.*$//'`; \
	    if [ "${dir}" = "." ]; then \
	      true; \
	    else \
	      if [ -d ../${dir}/${lib} ]; then \
		flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
		if (cd ../${dir}/${lib}; make "AR=ar" "AR_FLAGS=rc" "CC=/tmp/biarch/build/./gcc/xgcc -B/tmp/biarch/build/./gcc/ -B/usr/i686-pc-linux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem /usr/i686-pc-linux-gnu/include -isystem /usr/i686-pc-linux-gnu/sys-include" "CFLAGS=-g -fkeep-inline-functions" "DESTDIR=" "EXTRA_OFILES=" "HDEFINES=" "INSTALL=/usr/bin/ginstall -c" "INSTALL_DATA=/usr/bin/ginstall -c -m 644" "INSTALL_PROGRAM=/usr/bin/ginstall -c" "LDFLAGS=" "LOADLIBES=" "RANLIB=ranlib" "SHELL=/bin/sh" "prefix=/usr" "exec_prefix=/usr" "libdir=/usr/lib" "libsubdir=/usr/lib/gcc/i686-pc-linux-gnu/4.3.0" "tooldir=/usr/i686-pc-linux-gnu" \
				CFLAGS="-g -fkeep-inline-functions ${flags}" \
				CCASFLAGS=" ${flags}" \
				FCFLAGS=" ${flags}" \
				FFLAGS=" ${flags}" \
				ADAFLAGS=" ${flags}" \
				prefix="/usr" \
				exec_prefix="/usr" \
				GCJFLAGS=" ${flags}" \
				CXXFLAGS="-g -O2   -D_GNU_SOURCE ${flags}" \
				LIBCFLAGS="-g -fkeep-inline-functions ${flags}" \
				LIBCXXFLAGS="-g -O2   -D_GNU_SOURCE -fno-implicit-templates ${flags}" \
				LDFLAGS=" ${flags}" \
				MULTIFLAGS="${flags}" \
				DESTDIR="" \
				INSTALL="/usr/bin/ginstall -c" \
				INSTALL_DATA="/usr/bin/ginstall -c -m 644" \
				INSTALL_PROGRAM="/usr/bin/ginstall -c" \
				INSTALL_SCRIPT="/usr/bin/ginstall -c" \
				all); then \
		  true; \
		else \
		  exit 1; \
		fi; \
	      else true; \
	      fi; \
	    fi; \
	  done; \
	fi
make[5]: Entering directory `/tmp/biarch/build/i686-pc-linux-gnu/64/libgcc'
# If this is the top-level multilib, build all the other
# multilibs.
/tmp/biarch/build/./gcc/xgcc -B/tmp/biarch/build/./gcc/ -B/usr/i686-pc-linux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem /usr/i686-pc-linux-gnu/include -isystem /usr/i686-pc-linux-gnu/sys-include -g -fkeep-inline-functions -m64 -O2  -O2 -g -g -O2   -DIN_GCC    -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED   -I. -I. -I../../.././gcc -I../../../../gcc-4.3-20080104/libgcc -I../../../../gcc-4.3-20080104/libgcc/. -I../../../../gcc-4.3-20080104/libgcc/../gcc -I../../../../gcc-4.3-20080104/libgcc/../include -I../../../../gcc-4.3-20080104/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o unwind-dw2.o -MT unwind-dw2.o -MD -MP -MF unwind-dw2.dep -fexceptions -c ../../../../gcc-4.3-20080104/libgcc/../gcc/unwind-dw2.c -fvisibility=hidden -DHIDE_EXPORTS
In file included from ../../../../gcc-4.3-20080104/libgcc/../gcc/unwind-dw2.c:338:
../../../../gcc-4.3-20080104/libgcc/../gcc/config/i386/linux-unwind.h: In function 'x86_64_fallback_frame_state':
../../../../gcc-4.3-20080104/libgcc/../gcc/config/i386/linux-unwind.h:63: error: 'struct sigcontext' has no member named 'rsp'
../../../../gcc-4.3-20080104/libgcc/../gcc/config/i386/linux-unwind.h:71: error: 'struct sigcontext' has no member named 'rax'
../../../../gcc-4.3-20080104/libgcc/../gcc/config/i386/linux-unwind.h:73: error: 'struct sigcontext' has no member named 'rdx'
../../../../gcc-4.3-20080104/libgcc/../gcc/config/i386/linux-unwind.h:75: error: 'struct sigcontext' has no member named 'rcx'
../../../../gcc-4.3-20080104/libgcc/../gcc/config/i386/linux-unwind.h:77: error: 'struct sigcontext' has no member named 'rbx'
../../../../gcc-4.3-20080104/libgcc/../gcc/config/i386/linux-unwind.h:79: error: 'struct sigcontext' has no member named 'rsi'
../../../../gcc-4.3-20080104/libgcc/../gcc/config/i386/linux-unwind.h:81: error: 'struct sigcontext' has no member named 'rdi'
../../../../gcc-4.3-20080104/libgcc/../gcc/config/i386/linux-unwind.h:83: error: 'struct sigcontext' has no member named 'rbp'
../../../../gcc-4.3-20080104/libgcc/../gcc/config/i386/linux-unwind.h:85: error: 'struct sigcontext' has no member named 'r8'
../../../../gcc-4.3-20080104/libgcc/../gcc/config/i386/linux-unwind.h:87: error: 'struct sigcontext' has no member named 'r9'
../../../../gcc-4.3-20080104/libgcc/../gcc/config/i386/linux-unwind.h:89: error: 'struct sigcontext' has no member named 'r10'
../../../../gcc-4.3-20080104/libgcc/../gcc/config/i386/linux-unwind.h:91: error: 'struct sigcontext' has no member named 'r11'
../../../../gcc-4.3-20080104/libgcc/../gcc/config/i386/linux-unwind.h:93: error: 'struct sigcontext' has no member named 'r12'
../../../../gcc-4.3-20080104/libgcc/../gcc/config/i386/linux-unwind.h:95: error: 'struct sigcontext' has no member named 'r13'
../../../../gcc-4.3-20080104/libgcc/../gcc/config/i386/linux-unwind.h:97: error: 'struct sigcontext' has no member named 'r14'
../../../../gcc-4.3-20080104/libgcc/../gcc/config/i386/linux-unwind.h:99: error: 'struct sigcontext' has no member named 'r15'
../../../../gcc-4.3-20080104/libgcc/../gcc/config/i386/linux-unwind.h:101: error: 'struct sigcontext' has no member named 'rip'
make[5]: *** [unwind-dw2.o] Error 1
make[5]: Leaving directory `/tmp/biarch/build/i686-pc-linux-gnu/64/libgcc'
make[4]: *** [multi-do] Error 1
make[4]: Leaving directory `/tmp/biarch/build/i686-pc-linux-gnu/libgcc'
make[3]: *** [all-multi] Error 2
make[3]: Leaving directory `/tmp/biarch/build/i686-pc-linux-gnu/libgcc'
make[2]: *** [all-stage1-target-libgcc] Error 2
make[2]: Leaving directory `/tmp/biarch/build'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/tmp/biarch/build'
make: *** [all] Error 2



More information about the Gcc-help mailing list