[Bug c++/57897] Target x86_64-w64-mingw32 failed with '-mno-fentry isn't compatible with SEH'

2013-12-13 Thread rai...@emrich-ebersheim.de
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'

2013-12-13 Thread ktietz at gcc dot gnu.org
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'

2013-12-13 Thread ktietz at gcc dot gnu.org
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'

2013-12-12 Thread 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 ---
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'

2013-12-05 Thread ktietz at gcc dot gnu.org
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'

2013-12-05 Thread dongsheng.song at gmail dot com
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'

2013-11-17 Thread dongsheng.song at gmail dot com
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'

2013-09-10 Thread ktietz at gcc dot gnu.org
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'

2013-07-22 Thread paolo.carlini at oracle dot com
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'

2013-07-15 Thread dongsheng.song at gmail dot com
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)
   ^