OpenWrt Forum Archive

Topic: GCC-4.4.1 (Code Sorcery) + EABI + uClibc-0.9.30.1 fails to compile

The content of this topic has been archived on 14 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

I just wanted to let developers here know that compiling gcc-4.4.1+cs with Enable EABI support + uClibc-0.9.30.1 for a Marvell Kirkwood platform returns the following error messages. Hopefully, it will get fixed.

make[6]: Entering directory `/opt/tmp/openwrt-svn-trunk/build_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.30.1_eabi/gcc-4.4.1-final/gcc'
rm -f jc1
gcc   -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H  -o jc1 \
        java/class.o java/decl.o java/expr.o java/constants.o java/lang.o java/typeck.o java/except.o java/verify-glue.o java/verify-impl.o java/zextract.o java/jcf-io.o java/win32-host.o java/jcf-parse.o java/mangle.o java/mangle_name.o java/builtins.o java/resource.o java/jcf-depend.o java/jcf-path.o java/boehm.o java/java-gimplify.o main.o  libbackend.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a -L../zlib -lz  ../libcpp/libcpp.a   ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a attribs.o   -L/opt/tmp/openwrt-svn-trunk/staging_dir/host/lib -L/opt/tmp/openwrt-svn-trunk/staging_dir/host/lib -lmpfr -lgmp
libbackend.a(targhooks.o): In function `hook_cxx_ttype_ref_in_bit0':
targhooks.c:(.text+0x5d1): undefined reference to `pointer_int_sum'
collect2: ld returned 1 exit status
make[6]: *** [jc1] Error 1
make[6]: Leaving directory `/opt/tmp/openwrt-svn-trunk/build_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.30.1_eabi/gcc-4.4.1-final/gcc'
make[5]: *** [all-gcc] Error 2
make[5]: Leaving directory `/opt/tmp/openwrt-svn-trunk/build_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.30.1_eabi/gcc-4.4.1-final'
make[4]: *** [all] Error 2
make[4]: Leaving directory `/opt/tmp/openwrt-svn-trunk/build_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.30.1_eabi/gcc-4.4.1-final'
make[3]: *** [/opt/tmp/openwrt-svn-trunk/build_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.30.1_eabi/gcc-4.4.1-final/.built] Error 2
make[3]: Leaving directory `/opt/tmp/openwrt-svn-trunk/toolchain/gcc/final'
make[2]: *** [toolchain/gcc/final/compile] Error 2
make[2]: Leaving directory `/opt/tmp/openwrt-svn-trunk'
make[1]: *** [/opt/tmp/openwrt-svn-trunk/staging_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.30.1_eabi/stamp/.toolchain_install] Error 2
make[1]: Leaving directory `/opt/tmp/openwrt-svn-trunk'
make: *** [prepare] Error 2

Today, I did an svn up to my local OpenWRT SVN Development trunk to r24019. I did another try to compile gcc-4.4.3 and it still has the same problem as shown below:

make[5]: Nothing to be done for `all'.
make[5]: Leaving directory `/opt/tmp/openwrt-svn-trunk/build_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.31_eabi/gcc-4.4.1-final/build-x86_64-suse-linux/fixincludes'
make[5]: Entering directory `/opt/tmp/openwrt-svn-trunk/build_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.31_eabi/gcc-4.4.1-final/zlib'
true "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=" "CXXFLAGS=-g -O2" "CFLAGS_FOR_BUILD=" "CFLAGS_FOR_TARGET=-Os -pipe -march=armv5te -mtune=marvell-f -funit-at-a-time -fhonour-copts -msoft-float" "INSTALL=/usr/bin/install -c" "INSTALL_DATA=/usr/bin/install -c -m 644" "INSTALL_PROGRAM=/usr/bin/install -c" "INSTALL_SCRIPT=/usr/bin/install -c" "LDFLAGS=" "LIBCFLAGS=" "LIBCFLAGS_FOR_TARGET=-Os -pipe -march=armv5te -mtune=marvell-f -funit-at-a-time -fhonour-copts -msoft-float" "MAKE=make" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "EXPECT=expect" "RUNTEST=runtest" "RUNTESTFLAGS=" "exec_prefix=/opt/tmp/openwrt-svn-trunk/staging_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.31_eabi" "infodir=/opt/tmp/openwrt-svn-trunk/staging_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.31_eabi/info" "libdir=/opt/tmp/openwrt-svn-trunk/staging_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.31_eabi/lib" "prefix=/opt/tmp/openwrt-svn-trunk/staging_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.31_eabi" "tooldir=/opt/tmp/openwrt-svn-trunk/staging_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.31_eabi/arm-openwrt-linux-uclibcgnueabi" "AR=ar" "AS=as" "CC=gcc" "CXX=g++" "LD=/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld" "LIBCFLAGS=" "NM=nm" "PICFLAG=" "RANLIB=ranlib" "DESTDIR=" DO=all multi-do # make
make[5]: Leaving directory `/opt/tmp/openwrt-svn-trunk/build_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.31_eabi/gcc-4.4.1-final/zlib'
make[5]: Entering directory `/opt/tmp/openwrt-svn-trunk/build_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.31_eabi/gcc-4.4.1-final/libcpp'
make[5]: Nothing to be done for `all'.
make[5]: Leaving directory `/opt/tmp/openwrt-svn-trunk/build_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.31_eabi/gcc-4.4.1-final/libcpp'
make[5]: Entering directory `/opt/tmp/openwrt-svn-trunk/build_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.31_eabi/gcc-4.4.1-final/libdecnumber'
make[5]: Nothing to be done for `all'.
make[5]: Leaving directory `/opt/tmp/openwrt-svn-trunk/build_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.31_eabi/gcc-4.4.1-final/libdecnumber'
make[5]: Entering directory `/opt/tmp/openwrt-svn-trunk/build_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.31_eabi/gcc-4.4.1-final/gcc'
rm -f jc1
gcc   -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H  -o jc1 \
        java/class.o java/decl.o java/expr.o java/constants.o java/lang.o java/typeck.o java/except.o java/verify-glue.o java/verify-impl.o java/zextract.o java/jcf-io.o java/win32-host.o java/jcf-parse.o java/mangle.o java/mangle_name.o java/builtins.o java/resource.o java/jcf-depend.o java/jcf-path.o java/boehm.o java/java-gimplify.o main.o  libbackend.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a -L../zlib -lz  ../libcpp/libcpp.a   ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a attribs.o   -L/opt/tmp/openwrt-svn-trunk/staging_dir/host/lib -L/opt/tmp/openwrt-svn-trunk/staging_dir/host/lib -lmpfr -lgmp
libbackend.a(targhooks.o): In function `hook_cxx_ttype_ref_in_bit0':
targhooks.c:(.text+0x5d1): undefined reference to `pointer_int_sum'
collect2: ld returned 1 exit status
make[5]: *** [jc1] Error 1
make[5]: Leaving directory `/opt/tmp/openwrt-svn-trunk/build_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.31_eabi/gcc-4.4.1-final/gcc'
make[4]: *** [all-gcc] Error 2
make[4]: Leaving directory `/opt/tmp/openwrt-svn-trunk/build_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.31_eabi/gcc-4.4.1-final'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/opt/tmp/openwrt-svn-trunk/build_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.31_eabi/gcc-4.4.1-final'
make[2]: *** [/opt/tmp/openwrt-svn-trunk/build_dir/toolchain-arm_v5te_gcc-4.4.1+cs_uClibc-0.9.31_eabi/gcc-4.4.1-final/.built] Error 2
make[2]: Leaving directory `/opt/tmp/openwrt-svn-trunk/toolchain/gcc/final'
make[1]: *** [toolchain/gcc/final/compile] Error 2
make[1]: Leaving directory `/opt/tmp/openwrt-svn-trunk'
make: *** [toolchain/gcc/final/compile] Error 2

Is anyone working to fix this?

I get the same error for AR7 at toolchain/gcc/final/compile using the following toolchain options:

GCC 4.4.1 with Code Sorcery enhancements
Support for Graphite
System version of PPL and cLooG
Stack Smashing support
C++ compiler and libstdc++
Java compiler/classpath
uClibc 0.9.32 with nptl support

You've received the error for an ARM platform while I'm working on a mipsel platform, so it might mean there's an issue with GCC 4.4.x.  I'll try disabling some of the options, although the recompile will take a bit.

Well, at least I am not alone here. Cheers.

The discussion might have continued from here.