Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 687598 - =cross-arm-none-eabi/gcc-8.3.0-r1 - sorry, unimplemented: -fstack-check=specific for Thumb-1
Summary: =cross-arm-none-eabi/gcc-8.3.0-r1 - sorry, unimplemented: -fstack-check=speci...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-06-07 20:11 UTC by Bertrand Jacquin
Modified: 2019-07-12 07:26 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log.gz (build.log.gz,111.42 KB, application/gzip)
2019-06-07 20:11 UTC, Bertrand Jacquin
Details
emerge --info (info.log,18.70 KB, text/plain)
2019-06-07 20:12 UTC, Bertrand Jacquin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bertrand Jacquin 2019-06-07 20:11:35 UTC
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
Comment 1 Bertrand Jacquin 2019-06-07 20:12:12 UTC
Created attachment 579168 [details]
emerge --info
Comment 2 Sergei Trofimovich (RETIRED) gentoo-dev 2019-06-08 17:45:47 UTC
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.
Comment 3 Larry the Git Cow gentoo-dev 2019-06-08 18:20:53 UTC
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(+)
Comment 4 Sergei Trofimovich (RETIRED) gentoo-dev 2019-06-08 18:21:56 UTC
Disabled in =sys-devel/crossdev-99999999 for now. Will need to do similar in toolchain.eclass.
Comment 5 Bertrand Jacquin 2019-06-09 21:37:02 UTC
While USE=hardened allow build to complete successfully, USE=hardened was working like a charm for 8.2.0-r6
Comment 6 Sergei Trofimovich (RETIRED) gentoo-dev 2019-06-09 23:29:00 UTC
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
Comment 7 Larry the Git Cow gentoo-dev 2019-07-12 07:26:51 UTC
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(+)