Created attachment 429120 [details] gcc-stage1 build.log showing failure I have an experimental host system using CC=clang CXX=clang++. Attempting to build an ARM cross compiler using crossdev fails with GCC 4.9.3 due to an upstream bug in GCC (linked in URL). # crossdev --b 2.25.1-r1 --g 4.9.3 --k 4.4 --l 1.1.14 --genv 'USE="libssp -sanitize -fortran"' armv7hf-foxkit-linux-musleabi -v ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- * crossdev version: 20151026 * Host Portage ARCH: amd64 * Target Portage ARCH: arm * Target System: armv7hf-foxkit-linux-musleabi * Stage: 4 (C/C++ compiler) * ABIs: default * binutils: binutils-2.25.1-r1 * gcc: gcc-4.9.3 * headers: linux-headers-4.4 * libc: musl-1.1.14 [...] /var/tmp/portage/cross-armv7hf-foxkit-linux-musleabi/gcc-4.9.3/work/gcc-4.9.3/gcc/config/arm/neon.md:3486:10917: fatal error: bracket nesting level exceeded maximum of 256 /var/tmp/portage/cross-armv7hf-foxkit-linux-musleabi/gcc-4.9.3/work/gcc-4.9.3/gcc/config/arm/neon.md:3486:10917: note: use -fbracket-depth=N to increase maximum nesting level 32 warnings and 1 error generated. Makefile:1069: recipe for target 'insn-attrtab.o' failed make[2]: *** [insn-attrtab.o] Error 1 make[2]: *** Waiting for unfinished jobs.... A one-line patch to toolchain.eclass seems to fix this for me. I am not sure if this is something that the Gentoo toolchain team wishes to support. I am also not entirely sure if this patch meets style guidelines, as this is the first time I've ever touched an eclass, but I think it does.
Created attachment 429122 [details, diff] toolchain-eclass-gcc-on-arm-with-clang.patch
Comment on attachment 429122 [details, diff] toolchain-eclass-gcc-on-arm-with-clang.patch this isn't a patch i think we should be carrying at all. it indicates there's a bug elsewhere (like clang).
More something for local flags or a bug in clang.