Summary: | Cross-compiling sys-devel/gcc-4.3.3* for arm-softfloat-linux-gnueabi fails with fenv errors | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Mike Auty (RETIRED) <ikelos> |
Component: | [OLD] Core system | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | CC: | arm, armin76, embedded, j-pi, marat, maxposedon, OdinsHorse, redhatter, sh+disabled |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | http://gcc.gnu.org/PR38000 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
patch/hack solve this issue for my
hit the same problem while using gcc-4.4.3 |
Description
Mike Auty (RETIRED)
2009-03-18 14:36:23 UTC
Exactly the same problem here. Toolchain was built with: crossdev --kernel 2.8.28-r1 --binutils 2.19.1-r1 --gcc 4.3.3-r1 --libc 2.8_p20080602-r1 --target armv4tl-softfloat-linux-gnueabi A build with USE="nopie* vanilla* -altivec -bootstrap -build -doc -fixed-point -fortran -gcj -gtk -hardened -ip28 -ip32r10k -libffi -mudflap -multilib -multislot -n32 -n64 -nls -nocxx -objc -objc++ -objc-gc -openmp -test" also fails, so the problem is not in the gentoo patchset! Same on sh4... Weird... make[2]: Entering directory `/usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3' make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CC_FOR_TARGET=sh4-unknown-linux-gnu-gcc " "CFLAGS=-O2 -g -pipe -O2 " "CXXFLAGS=-pipe -O2 -D_GNU_SOURCE" "CFLAGS_FOR_BUILD=" "CFLAGS_FOR_TARGET=-O2 -g -pipe -O2 " "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=-O2 -g -pipe -O2 " "LIBCFLAGS_FOR_TARGET=-O2 -g -pipe -O2 " "MAKE=make" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "RUNTESTFLAGS=" "exec_prefix=/usr" "infodir=/usr/share/gcc-data/sh4-unknown-linux-gnu/4.3.3/info" "libdir=/usr/lib" "includedir=/usr/lib/gcc/sh4-unknown-linux-gnu/4.3.3/include" "prefix=/usr" "tooldir=/usr/sh4-unknown-linux-gnu" "gxx_include_dir=/usr/lib/gcc/sh4-unknown-linux-gnu/4.3.3/include/g++-v4" "AR=/usr/libexec/gcc/sh4-unknown-linux-gnu/ar" "AS=/usr/libexec/gcc/sh4-unknown-linux-gnu/as" "LD=/usr/libexec/gcc/sh4-unknown-linux-gnu/ld" "RANLIB=/usr/libexec/gcc/sh4-unknown-linux-gnu/ranlib" "NM=/usr/libexec/gcc/sh4-unknown-linux-gnu/nm" "NM_FOR_BUILD=" "NM_FOR_TARGET=/usr/libexec/gcc/sh4-unknown-linux-gnu/nm" "DESTDIR=" "WERROR=" all-recursive make[3]: Entering directory `/usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3' Making all in include make[4]: Entering directory `/usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3/include' mkdir -p ./sh4-unknown-linux-gnu/bits/stdtr1c++.h.gch sh4-unknown-linux-gnu-c++ -Winvalid-pch -x c++-header -pipe -O2 -D_GNU_SOURCE -I/usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3/include/sh4-unknown-linux-gnu -I/usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3/include -I/usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/gcc-4.3.3/libstdc++-v3/libsupc++ -O2 -g /usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/gcc-4.3.3/libstdc++-v3/include/precompiled/stdtr1c++.h -o sh4-unknown-linux-gnu/bits/stdtr1c++.h.gch/O2g.gch /usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/gcc-4.3.3/libstdc++-v3/include/precompiled/stdtr1c++.h:34:25: warning: /usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3/include/sh4-unknown-linux-gnu/bits/stdc++.h.gch/O0g.gch: created and used with differing settings of '-mdiv=' In file included from /usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3/include/tr1/cfenv:51, from /usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/gcc-4.3.3/libstdc++-v3/include/precompiled/stdtr1c++.h:38: /usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:56: error: '::fenv_t' has not been declared /usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:57: error: '::fexcept_t' has not been declared /usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:60: error: '::feclearexcept' has not been declared /usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:61: error: '::fegetexceptflag' has not been declared /usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:62: error: '::feraiseexcept' has not been declared /usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:63: error: '::fesetexceptflag' has not been declared /usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:64: error: '::fetestexcept' has not been declared /usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:66: error: '::fegetround' has not been declared /usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:67: error: '::fesetround' has not been declared /usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:69: error: '::fegetenv' has not been declared /usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:70: error: '::feholdexcept' has not been declared /usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:71: error: '::fesetenv' has not been declared /usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:72: error: '::feupdateenv' has not been declared make[4]: *** [sh4-unknown-linux-gnu/bits/stdtr1c++.h.gch/O2g.gch] Error 1 make[4]: Leaving directory `/usr/sh4-unknown-linux-gnu/tmp/portage/sys-devel/gcc-4.3.3-r1/work/build/sh4-unknown-linux-gnu/libstdc++-v3/include' make[3]: *** [all-recursive] Error 1 The same if crosscompiling gentoo with tolchain: UCLIBC_CPU=ARM920T crossdev -v -t arm-softfloat-linux-uclibcgnueabi binutils-2.19.1-r1 gcc-4.3.3-r2 linux-headers-2.6.28-r1 uclibc-0.9.30.1-r1 Build toolchain works but crosscompile gcc does not. vapier, Notice the CHOST.. He is using -uclibcgnueabi vs -uclibceabi After some debugging, i found the culprit. http://gcc.gnu.org/viewcvs?view=rev&revision=143194 And could by fixed by adding '-nostdinc++' as described in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39238 Created attachment 187319 [details, diff]
patch/hack solve this issue for my
This is just proposal which works for my. Probably is sufficinet modify only one of Makefile.* or may be this is not proper solution.
gcc-4.4.0 have exactly same issue Created attachment 229343 [details]
hit the same problem while using gcc-4.4.3
I've hit the same issue building gcc-4.4.4; - CHOST=mipsel-unknown-linux-gnu - CBUILD=i686-pc-linux-gnu - CTARGET=mipsel-unknown-linux-gnu (well, actually unset) I think we can rule out it being something specific to ARM as we've seen the issue elsewhere too. I'm giving another build a try with USE=nocxx, as my aim is to produce a gcc that I can use to compile gcc... I can live with a C-only compiler to bootstrap things. We should get this fixed. regarding having a C compiler to get a local gcc... Well they are thinking about switching to C++ apparently. the patch is ready for gcc-4.5 now (already in the patchset dir), if http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45094 is confirmed I'd add that and ask for another patchset. Luca: if you're going to add patches, please clean them up. review: http://dev.gentoo.org/~vapier/clean-patches further, i'm guessing the patch you're referring to is: 94_all_gcc-4.5-pch-nostdinc.patch but this bug and the upstream PR is about gcc-4.3, not 4.5, so where & why is that patch coming from ? who did you ask to add that patch to the patchset and who approved it ? (In reply to comment #13) > Luca: if you're going to add patches, please clean them up. review: > http://dev.gentoo.org/~vapier/clean-patches > > further, i'm guessing the patch you're referring to is: > 94_all_gcc-4.5-pch-nostdinc.patch > > but this bug and the upstream PR is about gcc-4.3, not 4.5, so where & why is > that patch coming from ? who did you ask to add that patch to the patchset and > who approved it ? That should be the upstream bug, I reproduced the problem locally and tested the solution as well. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974 Sorry for not putting the right reference ^^; seems to be fixed with newer versions |