Created attachment 579166 [details] build.log.gz Hi, =cross-arm-none-eabi/gcc-8.3.0-r1 cannot be build, fails with the following error: Making all in libsupc++ make[8]: Entering directory '/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/arm-none-eabi/thumb/libstdc++-v3/libsupc++' /bin/bash ../libtool --tag CXX --tag disable-shared --mode=compile /var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/./gcc/xgcc -shared-libgcc -B/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/./gcc -nostdinc++ -L/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/arm-none-eabi/thumb/libstdc++-v3/src -L/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/arm-none-eabi/thumb/libstdc++-v3/src/.libs -L/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/arm-none-eabi/thumb/libstdc++-v3/libsupc++/.libs -B/usr/arm-none-eabi/bin/ -B/usr/arm-none-eabi/lib/ -isystem /usr/arm-none-eabi/include -isystem /usr/arm-none-eabi/sys-include -mthumb -I/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/gcc-8.3.0/libstdc++-v3/../libgcc -I/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/arm-none-eabi/thumb/libstdc++-v3/include/arm-none-eabi -I/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/arm-none-eabi/thumb/libstdc++-v3/include -I/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/gcc-8.3.0/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once -frandom-seed=array_type_info.lo -g -O2 -mthumb -c -o array_type_info.lo /var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/gcc-8.3.0/libstdc++-v3/libsupc++/array_type_info.cc libtool: compile: /var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/./gcc/xgcc -shared-libgcc -B/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/./gcc -nostdinc++ -L/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/arm-none-eabi/thumb/libstdc++-v3/src -L/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/arm-none-eabi/thumb/libstdc++-v3/src/.libs -L/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/arm-none-eabi/thumb/libstdc++-v3/libsupc++/.libs -B/usr/arm-none-eabi/bin/ -B/usr/arm-none-eabi/lib/ -isystem /usr/arm-none-eabi/include -isystem /usr/arm-none-eabi/sys-include -mthumb -I/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/gcc-8.3.0/libstdc++-v3/../libgcc -I/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/arm-none-eabi/thumb/libstdc++-v3/include/arm-none-eabi -I/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/arm-none-eabi/thumb/libstdc++-v3/include -I/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/gcc-8.3.0/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once -frandom-seed=array_type_info.lo -g -O2 -mthumb -c /var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/gcc-8.3.0/libstdc++-v3/libsupc++/array_type_info.cc -o array_type_info.o cc1plus: warning: -Wabi won't warn about anything [-Wabi] cc1plus: note: -Wabi warns about differences from the most up-to-date ABI, which is also used by default cc1plus: note: use e.g. -Wabi=11 to warn about changes from GCC 7 /var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/gcc-8.3.0/libstdc++-v3/libsupc++/array_type_info.cc: In destructor ‘__cxxabiv1::__array_type_info::~__array_type_info()’: /var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/gcc-8.3.0/libstdc++-v3/libsupc++/array_type_info.cc:30:2: sorry, unimplemented: -fstack-check=specific for Thumb-1 {} ^ make[8]: *** [Makefile:669: array_type_info.lo] Error 1 make[8]: Leaving directory '/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/arm-none-eabi/thumb/libstdc++-v3/libsupc++' make[7]: *** [Makefile:511: all-recursive] Error 1 make[7]: Leaving directory '/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/arm-none-eabi/thumb/libstdc++-v3' make[6]: *** [Makefile:418: all] Error 2 make[6]: Leaving directory '/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/arm-none-eabi/thumb/libstdc++-v3' make[5]: *** [Makefile:771: multi-do] Error 1 make[5]: Leaving directory '/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/arm-none-eabi/libstdc++-v3' make[4]: *** [Makefile:491: all-multi] Error 2 make[4]: Leaving directory '/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/arm-none-eabi/libstdc++-v3' make[3]: *** [Makefile:511: all-recursive] Error 1 make[3]: Leaving directory '/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/arm-none-eabi/libstdc++-v3' make[2]: *** [Makefile:418: all] Error 2 make[2]: Leaving directory '/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build/arm-none-eabi/libstdc++-v3' make[1]: *** [Makefile:10571: all-target-libstdc++-v3] Error 2 make[1]: Leaving directory '/var/tmp/portage/cross-arm-none-eabi/gcc-8.3.0-r1/work/build' make: *** [Makefile:901: all] Error 2 * ERROR: cross-arm-none-eabi/gcc-8.3.0-r1::x-portage failed (compile phase): * emake failed build.log and emerge --info attached
Created attachment 579168 [details] emerge --info
Reproduced here with USE=hardened. Try it with USE=-hardened disabled. If it works i'll disable it for bare-metal profiles at least in crossdev.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=d2568f29e87347c458b1b124d9c669b9995effb9 commit d2568f29e87347c458b1b124d9c669b9995effb9 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2019-06-08 18:14:47 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2019-06-08 18:14:47 +0000 crossdev: disable USE=hardened by default on bare-metal USE=hardened enables more stack-check options by default At least on arm-none-eabi that causes build failure: gcc-8.3.0/libstdc++-v3/libsupc++/array_type_info.cc:30:2: sorry, unimplemented: -fstack-check=specific for Thumb-1 {} ^ Reported-by: Bertrand Jacquin Bug: https://bugs.gentoo.org/687598 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> crossdev | 1 + 1 file changed, 1 insertion(+)
Disabled in =sys-devel/crossdev-99999999 for now. Will need to do similar in toolchain.eclass.
While USE=hardened allow build to complete successfully, USE=hardened was working like a charm for 8.2.0-r6
https://github.com/gcc-mirror/gcc/commit/706dca65fda779bf270d3d7018c138cbe87f643d is in gcc since at least gcc-6: /* If we have a frame, then do stack checking. FIXME: not implemented. */ if (flag_stack_check == STATIC_BUILTIN_STACK_CHECK && size) sorry ("-fstack-check=specific for THUMB1"); It might have exposed when we fixed stack protection switch in https://bugs.gentoo.org/675050#c4
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=871f682ede7e0bfa9b7929b009c67156b2079227 commit 871f682ede7e0bfa9b7929b009c67156b2079227 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2019-07-12 07:26:40 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2019-07-12 07:26:40 +0000 sys-devel/crossdev: bump up to 20190712, bug #687598 Closes: https://bugs.gentoo.org/687598 Package-Manager: Portage-2.3.69, Repoman-2.3.16 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> sys-devel/crossdev/Manifest | 1 + sys-devel/crossdev/crossdev-20190712.ebuild | 36 +++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+)