[Bug c++/57897] Target x86_64-w64-mingw32 failed with '-mno-fentry isn't compatible with SEH'
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57897 --- Comment #10 from Rainer Emrich rai...@emrich-ebersheim.de --- Am 12.12.2013 23:08, schrieb ktietz at gcc dot gnu.org: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57897 --- Comment #9 from Kai Tietz ktietz at gcc dot gnu.org --- 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. I confirm, this solves the issue!
[Bug c++/57897] Target x86_64-w64-mingw32 failed with '-mno-fentry isn't compatible with SEH'
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57897 --- Comment #11 from Kai Tietz ktietz at gcc dot gnu.org --- Author: ktietz Date: Fri Dec 13 09:24:16 2013 New Revision: 205957 URL: http://gcc.gnu.org/viewcvs?rev=205957root=gccview=rev Log: PR c++/57897 * config/i386/i386.c (ix86_option_override_internal): Set for x64 target flag_unwind_tables, if flag_asynchronous_unwind_tables was explicit set. Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c
[Bug c++/57897] Target x86_64-w64-mingw32 failed with '-mno-fentry isn't compatible with SEH'
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57897 Kai Tietz ktietz at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #12 from Kai Tietz ktietz at gcc dot gnu.org --- Fixed
[Bug c++/57897] Target x86_64-w64-mingw32 failed with '-mno-fentry isn't compatible with SEH'
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.
[Bug c++/57897] Target x86_64-w64-mingw32 failed with '-mno-fentry isn't compatible with SEH'
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57897 Kai Tietz ktietz at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2013-12-06 Ever confirmed|0 |1 --- Comment #7 from Kai Tietz ktietz at gcc dot gnu.org --- Issue is that for SEH-target we need to generate dw2 unwind-information so that -fasynchronous-unwind-tables works proper. Following patch should fix that: Index: i386.c === --- i386.c (Revision 205719) +++ i386.c (Arbeitskopie) @@ -3698,6 +3698,9 @@ ix86_option_override_internal (bool main_args_p, { 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 == 1 + TARGET_SEH) + 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;
[Bug c++/57897] Target x86_64-w64-mingw32 failed with '-mno-fentry isn't compatible with SEH'
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57897 --- Comment #8 from Dongsheng Song dongsheng.song at gmail dot com --- It's hard to understand SEH reqiure unwind table in DWARF 2 format. can you give me a brief description ? Your patch does not help: $ cat EOF | ./x86_64-windows-gcc49/bin/x86_64-w64-mingw32-g++ -O2 -o `mktemp` -c -x c++ -fasynchronous-unwind-tables - /dev/null #pragma GCC target(sse4a) EOF stdin:1:27: sorry, unimplemented: -mno-fentry isn't compatible with SEH $ ./x86_64-windows-gcc49/bin/x86_64-w64-mingw32-g++ -v Using built-in specs. COLLECT_GCC=./x86_64-windows-gcc49/bin/x86_64-w64-mingw32-g++ COLLECT_LTO_WRAPPER=/home/cauchy/cross/x86_64-windows-gcc49/libexec/gcc/x86_64-w64-mingw32/4.9.0/lto-wrapper Target: x86_64-w64-mingw32 Configured with: /home/cauchy/vcs/svn/gcc/trunk/configure --prefix=/home/cauchy/cross/x86_64-windows-gcc49 --with-sysroot=/home/cauchy/cross/x86_64-windows-gcc49 --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=x86_64-w64-mingw32 --disable-multilib --disable-nls --enable-checking=release --enable-languages=c,c++,fortran --with-arch=core2 --with-tune=generic Thread model: win32 gcc version 4.9.0 20131206 (experimental) (GCC) Build the gcc 4.9 x64 native compiler from the gcc 4.9 cross compiler still failed: x86_64-w64-mingw32-g++ -c -g -O2 -DIN_GCC-fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H -I. -I. -I/home/cauchy/vcs/svn/gcc/trunk/gcc -I/home/cauchy/vcs/svn/gcc/trunk/gcc/. -I/home/cauchy/vcs/svn/gcc/trunk/gcc/../include -I/home/cauchy/vcs/svn/gcc/trunk/gcc/../libcpp/include -I/home/cauchy/obj/native/gcc-4.9-win64/gcc/./gmp -I/home/cauchy/vcs/svn/gcc/trunk/gmp -I/home/cauchy/obj/native/gcc-4.9-win64/gcc/./mpfr/src -I/home/cauchy/vcs/svn/gcc/trunk/mpfr/src -I/home/cauchy/vcs/svn/gcc/trunk/mpc/src -I/home/cauchy/vcs/svn/gcc/trunk/gcc/../libdecnumber -I/home/cauchy/vcs/svn/gcc/trunk/gcc/../libdecnumber/bid -I../libdecnumber -I/home/cauchy/vcs/svn/gcc/trunk/gcc/../libbacktrace -DCLOOG_INT_GMP -I/home/cauchy/obj/native/gcc-4.9-win64/gcc/./cloog/include -I/home/cauchy/vcs/svn/gcc/trunk/cloog/include -I/home/cauchy/vcs/svn/gcc/trunk/cloog/include -I/home/cauchy/obj/native/gcc-4.9-win64/gcc/./isl/include -I/home/cauchy/vcs/svn/gcc/trunk/isl/include -I. -I. -I/home/cauchy/vcs/svn/gcc/trunk/gcc -I/home/cauchy/vcs/svn/gcc/trunk/gcc/. -I/home/cauchy/vcs/svn/gcc/trunk/gcc/../include -I/home/cauchy/vcs/svn/gcc/trunk/gcc/../libcpp/include -I/home/cauchy/obj/native/gcc-4.9-win64/gcc/./gmp -I/home/cauchy/vcs/svn/gcc/trunk/gmp -I/home/cauchy/obj/native/gcc-4.9-win64/gcc/./mpfr/src -I/home/cauchy/vcs/svn/gcc/trunk/mpfr/src -I/home/cauchy/vcs/svn/gcc/trunk/mpc/src -I/home/cauchy/vcs/svn/gcc/trunk/gcc/../libdecnumber -I/home/cauchy/vcs/svn/gcc/trunk/gcc/../libdecnumber/bid -I../libdecnumber -I/home/cauchy/vcs/svn/gcc/trunk/gcc/../libbacktrace -DCLOOG_INT_GMP -I/home/cauchy/obj/native/gcc-4.9-win64/gcc/./cloog/include -I/home/cauchy/vcs/svn/gcc/trunk/cloog/include -I/home/cauchy/vcs/svn/gcc/trunk/cloog/include -I/home/cauchy/obj/native/gcc-4.9-win64/gcc/./isl/include -I/home/cauchy/vcs/svn/gcc/trunk/isl/include \ /home/cauchy/vcs/svn/gcc/trunk/gcc/config/i386/host-mingw32.c In file included from /home/cauchy/cross/x86_64-windows-gcc49/lib/gcc/x86_64-w64-mingw32/4.9.0/include/x86intrin.h:27:0, from /home/cauchy/cross/x86_64-windows-gcc49/x86_64-w64-mingw32/include/winnt.h:1495, from /home/cauchy/cross/x86_64-windows-gcc49/x86_64-w64-mingw32/include/minwindef.h:146, from /home/cauchy/cross/x86_64-windows-gcc49/x86_64-w64-mingw32/include/windef.h:8, from /home/cauchy/cross/x86_64-windows-gcc49/x86_64-w64-mingw32/include/windows.h:69, from /home/cauchy/vcs/svn/gcc/trunk/gcc/config/i386/host-mingw32.c:29: /home/cauchy/cross/x86_64-windows-gcc49/lib/gcc/x86_64-w64-mingw32/4.9.0/include/ia32intrin.h:54:28: sorry, unimplemented: -mno-fentry isn't compatible with SEH #pragma GCC target(sse4.2) ^ make[2]: *** [host-mingw32.o] Error 1 make[2]: Leaving directory `/home/cauchy/obj/native/gcc-4.9-win64/gcc/gcc' make[1]: *** [install-strip-gcc] Error 2 make[1]: Leaving directory `/home/cauchy/obj/native/gcc-4.9-win64/gcc' make: *** [install-strip] Error 2 $ svn info mingw-w64/trunk/ gcc/trunk/ Path: mingw-w64/trunk URL: svn://svn.code.sf.net/p/mingw-w64/code/trunk Repository Root: svn://svn.code.sf.net/p/mingw-w64/code Repository UUID: 4407c894-4637-0410-b4f5-ada5f102cad1 Revision: 6392 Node Kind: directory Schedule: normal Last Changed Author: ktietz70 Last Changed Rev: 6392 Last Changed Date: 2013-12-05 18:06:07 +0800 (Thu, 05 Dec 2013) Path: gcc/trunk URL: svn://gcc.gnu.org/svn/gcc/trunk Repository Root: svn://gcc.gnu.org/svn/gcc Repository UUID:
[Bug c++/57897] Target x86_64-w64-mingw32 failed with '-mno-fentry isn't compatible with SEH'
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57897 --- Comment #6 from Dongsheng Song dongsheng.song at gmail dot com --- After revert r192062, I can build gcc smoothly. $ svn log -r 192062 r192062 | uros | 2012-10-04 13:53:22 +0800 (Thu, 04 Oct 2012) | 4 lines * configure.ac (noexception_flags): Add -fasynchronous-unwind-tables. * configure: Regenerate. 2012-10-04 Uros Bizjak ubiz...@gmail.com * configure.ac (noexception_flags): Add -fasynchronous-unwind-tables. * configure: Regenerate.
[Bug c++/57897] Target x86_64-w64-mingw32 failed with '-mno-fentry isn't compatible with SEH'
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57897 --- Comment #3 from Kai Tietz ktietz at gcc dot gnu.org --- Hmm, what I don't get is why there is a warning about -mno-fentry. So I would assume there is something else broken. Nevertheless this reminds me about pr/57848. This issue seems to be in general no mingw specific problem, but more an inconsistency about sse and builtins.
[Bug c++/57897] Target x86_64-w64-mingw32 failed with '-mno-fentry isn't compatible with SEH'
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57897 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added CC||ktietz at gcc dot gnu.org --- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com --- Kai, can you have a look?
[Bug c++/57897] Target x86_64-w64-mingw32 failed with '-mno-fentry isn't compatible with SEH'
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57897 --- Comment #1 from Dongsheng Song dongsheng.song at gmail dot com --- $ ~/cross/x86_64-windows-gcc49/bin/x86_64-w64-mingw32-g++ -v Using built-in specs. COLLECT_GCC=/home/cauchy/cross/x86_64-windows-gcc49/bin/x86_64-w64-mingw32-g++ COLLECT_LTO_WRAPPER=/home/cauchy/cross/x86_64-windows-gcc49/libexec/gcc/x86_64-w64-mingw32/4.9.0/lto-wrapper Target: x86_64-w64-mingw32 Configured with: /home/cauchy/vcs/svn/gcc/trunk/configure --prefix=/home/cauchy/cross/x86_64-windows-gcc49 --with-sysroot=/home/cauchy/cross/x86_64-windows-gcc49 --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=x86_64-w64-mingw32 --disable-multilib --disable-nls --enable-checking=release --enable-languages=c,c++,fortran --with-arch=corei7 --with-tune=generic Thread model: win32 gcc version 4.9.0 20130714 (experimental) (GCC) $ cat x.c #pragma GCC target(sse4a) $ ~/cross/x86_64-windows-gcc49/bin/x86_64-w64-mingw32-g++ -c -fasynchronous-unwind-tables x.c x.c:1:27: sorry, unimplemented: -mno-fentry isn't compatible with SEH #pragma GCC target(sse4a) ^