[Bug c++/57897] Target x86_64-w64-mingw32 failed with '-mno-fentry isn't compatible with SEH'
ktietz at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Dec 12 22:08:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57897
--- Comment #9 from Kai Tietz <ktietz at gcc dot gnu.org> ---
Issue is related to option -fasynchronous-unwind-tables option. Better said to
option -fasynchronous-unwind-tables without -funwind-tables.
Following sample can demonstrate issue pretty well:
'#include <intrin.h>
int a;'
By compiling test by '$ x86_64-w64-mingw32-gcc -S -o t.s t_xmmintrin.c -O2
-fasynchronous-unwind-tables' I can reproduce the fentry message.
By removing option -fasynchronous-unwind-tables, or adding -funwind-tables
option message won't be displayed.
By following patch for me the issue is solved:
Index: i386.c
===================================================================
--- i386.c (Revision 205859)
+++ i386.c (Arbeitskopie)
@@ -3698,6 +3698,10 @@
{
if (opts->x_optimize >= 1 && !opts_set->x_flag_omit_frame_pointer)
opts->x_flag_omit_frame_pointer = !USE_X86_64_FRAME_POINTER;
+ if (opts->x_flag_asynchronous_unwind_tables
+ && !opts_set->x_flag_unwind_tables
+ && TARGET_64BIT_MS_ABI)
+ opts->x_flag_unwind_tables = 1;
if (opts->x_flag_asynchronous_unwind_tables == 2)
opts->x_flag_unwind_tables
= opts->x_flag_asynchronous_unwind_tables = 1;
I will apply this patch to trunk soon, if there are no objections.
More information about the Gcc-bugs
mailing list