Re: [Mingw-w64-public] Adding a new thread model to GCC

2016-04-13 Thread Martin Mitáš
Dne 14. 4. 2016 v 5:02 Dongsheng Song napsal(a): > Currently, --enable-threads=win32 map to gthr-win32.{h|c}, could we map > > --enable-threads=win32-vista > --enable-threads=win32-win7 // Windows 7 and Windows Server 2008 R2 > --enable-threads=win32-win8 // Windows 8 and Windows Server 2012

Re: [Mingw-w64-public] Adding a new thread model to GCC

2016-04-13 Thread lh_mouse
And don't forget that --enable-threads=win32 also enables emulated TLS, which is completely unnecessary if we have some kind of TLS support. Because pthread_key_create() requires a destructor, TLS must still be emulated on x86 because there is no native support. The fiber local storage (FLS) API

Re: [Mingw-w64-public] Adding a new thread model to GCC

2016-04-13 Thread Dongsheng Song
Currently, --enable-threads=win32 map to gthr-win32.{h|c}, could we map --enable-threads=win32-vista --enable-threads=win32-win7 // Windows 7 and Windows Server 2008 R2 --enable-threads=win32-win8 // Windows 8 and Windows Server 2012 --enable-threads=win32-win8.1 // Windows 8.1 and Windows Ser

Re: [Mingw-w64-public] Adding a new thread model to GCC

2016-04-13 Thread lh_mouse
Yes I learnt those *ByAddress* functions a few months ago and was shocked that Microsoft had plagiarized futex from Linux. As you have pointed out already, those APIs are only available on Windows 8 and later. If we need fuex semantics on Windows 7 and earlier, we must simulate it. However, sin

Re: [Mingw-w64-public] [PATCH] _begin/endthread(ex) are not allowed on winrt

2016-04-13 Thread Hugo Beauzée-Luyssen
On 04/13/2016 02:48 PM, Hugo Beauzée-Luyssen wrote: > Provide a redirection from _beginthreadex -> CreateThread _endthread -> > ExitThread, as the documentation recommends. > --- > mingw-w64-libraries/winstorecompat/Makefile.am | 1 + > .../winstorecompat/src/beginthread.c | 5

[Mingw-w64-public] [PATCH] _begin/endthread(ex) are not allowed on winrt

2016-04-13 Thread Hugo Beauzée-Luyssen
Provide a redirection from _beginthreadex -> CreateThread _endthread -> ExitThread, as the documentation recommends. --- mingw-w64-libraries/winstorecompat/Makefile.am | 1 + .../winstorecompat/src/beginthread.c | 54 ++ 2 files changed, 55 insertions(+) cre

Re: [Mingw-w64-public] [Bulk] windres option for -march?

2016-04-13 Thread Julien Darthenay
Thanks to you two. This seems to work, except I realize neither Win-Builds nor Msys2 seems to be able to "cross-compiling" (I mean I need to switch to the 32-bits versions to build the 32-bits objects and executable, so in these conditions my compiler options are useless). Le 13/04/2016 08:49,

[Mingw-w64-public] [PATCH] _begin/endthread(ex) are not allowed on winrt

2016-04-13 Thread Hugo Beauzée-Luyssen
Provide a redirection from _beginthreadex -> CreateThread _endthread -> ExitThread, as the documentation recommends. --- mingw-w64-libraries/winstorecompat/Makefile.am | 1 + .../winstorecompat/src/beginthread.c | 54 ++ 2 files changed, 55 insertions(+) cre

Re: [Mingw-w64-public] [PATCH] _begin/endthread(ex) are not allowed on winrt

2016-04-13 Thread Kai Tietz
2016-04-13 13:59 GMT+02:00 Hugo Beauzée-Luyssen : > On 04/13/2016 01:30 PM, Kai Tietz wrote: >> Hi, >> >> I don't see that adding psdk header dependency to our crt header is >> something sane. Why is this change in crt headers at all necessary? >> >> Kai >> >> 2016-04-13 13:05 GMT+02:00 Hugo Beauz

Re: [Mingw-w64-public] [PATCH] _begin/endthread(ex) are not allowed on winrt

2016-04-13 Thread Hugo Beauzée-Luyssen
On 04/13/2016 01:30 PM, Kai Tietz wrote: > Hi, > > I don't see that adding psdk header dependency to our crt header is > something sane. Why is this change in crt headers at all necessary? > > Kai > > 2016-04-13 13:05 GMT+02:00 Hugo Beauzée-Luyssen : >> Provide a redirection from _beginthreadex ->

Re: [Mingw-w64-public] [PATCH] _begin/endthread(ex) are not allowed on winrt

2016-04-13 Thread Kai Tietz
Hi, I don't see that adding psdk header dependency to our crt header is something sane. Why is this change in crt headers at all necessary? Kai 2016-04-13 13:05 GMT+02:00 Hugo Beauzée-Luyssen : > Provide a redirection from _beginthreadex -> CreateThread _endthread -> > ExitThread, as the docume

Re: [Mingw-w64-public] Adding a new thread model to GCC

2016-04-13 Thread lh_mouse
Thanks for your reply. :> However I am still having problems building GCC. (Yesterday stage 1 was ok, but during stage 2 autoconf just failed to find any standard headers. I am still struggling with it.) Once I build gcc successfully I will have a look at that configure.ac. Wish me luck. (btw t

[Mingw-w64-public] [PATCH] _begin/endthread(ex) are not allowed on winrt

2016-04-13 Thread Hugo Beauzée-Luyssen
Provide a redirection from _beginthreadex -> CreateThread _endthread -> ExitThread, as the documentation recommends. --- mingw-w64-headers/crt/process.h| 6 +++ mingw-w64-libraries/winstorecompat/Makefile.am | 1 + .../winstorecompat/src/beginthread.c | 54 +

Re: [Mingw-w64-public] Adding a new thread model to GCC

2016-04-13 Thread Jonathan Wakely
On 13 April 2016 at 10:17, lh_mouse wrote: > Hi all, > > The 'win32' thread model of gcc has been there since long long ago, being > compatible with very old Windows versions, also having a number of drawbacks: > 0) its implementation is very inefficient, and > 1) its mutexes and condition var

[Mingw-w64-public] Adding a new thread model to GCC

2016-04-13 Thread lh_mouse
Hi all, The 'win32' thread model of gcc has been there since long long ago, being compatible with very old Windows versions, also having a number of drawbacks: 0) its implementation is very inefficient, and 1) its mutexes and condition variables require dynamic initialization and are unusabl