[Bug target/104781] [12 regression] SEGV in _Unwind_GetGR during i386 Ada bootstrap

drepper.fsp+rhbz at gmail dot com gcc-bugzilla@gcc.gnu.org
Tue Mar 15 10:13:05 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104781

Ulrich Drepper <drepper.fsp+rhbz at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |drepper.fsp+rhbz at gmail dot com

--- Comment #14 from Ulrich Drepper <drepper.fsp+rhbz at gmail dot com> ---
My standard build now fails in stage 1 with this patch when compiling
unwind-dw2.c for x86:

.../gcc-builds/20220315/gcc/include/cetintrin.h: In function
‘_Unwind_RaiseException’:
.../gcc-builds/20220315/gcc/include/cetintrin.h:47:1: error: inlining failed in
call to ‘always_inline’ ‘_get_ssp’: target specific option mismatch
   47 | _get_ssp (void)
      | ^~~~~~~~
.../gnu/gcc/libgcc/config/i386/shadow-stack-unwind.h:32:26: note: called from
here
   32 |       _Unwind_Word ssp = _get_ssp ();           \
      |                          ^~~~~~~~~~~
.../gnu/gcc/libgcc/unwind-dw2.c:1654:7: note: in expansion of macro
‘_Unwind_Frames_Extra’
 1654 |       _Unwind_Frames_Extra (FRAMES);                                   
\
      |       ^~~~~~~~~~~~~~~~~~~~
.../gnu/gcc/libgcc/unwind.inc:140:3: note: in expansion of macro
‘uw_install_context’
  140 |   uw_install_context (&this_context, &cur_context, frames);


and so on for the other CET functions.  When I comment out the
LIBGCC2_UNWIND_ATTRIBUTE definition in config/i386/i386.h it works.

The compiler command line that is used is

.../gcc-builds/20220315/./gcc/xgcc -B.../gcc-builds/20220315/./gcc/
-B/usr/x86_64-redhat-linux/bin/ -B/usr/x86_64-redhat-linux/lib/ -isystem
/usr/x86_64-redhat-linux/include -isystem /usr/x86_64-redhat-linux/sys-include 
 -fno-checking -g -O2 -m32 -O2  -g -O2 -DIN_GCC    -W -Wall -Wno-narrowing
-Wwrite-strings -Wcast-qual -Wno-format -Wstrict-prototypes
-Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fpic
-mlong-double-80 -DUSE_ELF_SYMVER -fcf-protection -mshstk -g -DIN_LIBGCC2
-fbuilding-libgcc -fno-stack-protector  -fpic -mlong-double-80 -DUSE_ELF_SYMVER
-fcf-protection -mshstk -I. -I. -I../../.././gcc -I.../gcc/libgcc
-I.../gcc/libgcc/. -I.../gcc/libgcc/../gcc -I.../gcc/libgcc/../include
-I.../gcc/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS 
-DUSE_TLS  -o unwind-dw2.o -MT unwind-dw2.o -MD -MP -MF unwind-dw2.dep
-fexceptions -c .../gcc/libgcc/unwind-dw2.c -fvisibility=hidden -DHIDE_EXPORTS

This is on an up-to-date Fedora 35 system with gcc 11.2.1-9


More information about the Gcc-bugs mailing list