public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug web/115105] New: Document "Reimplement GNU threads library on native Windows" change on GCC 13 changes list
@ 2024-05-15 14:52 pedro at palves dot net
2024-05-15 18:56 ` [Bug web/115105] " ebotcazou at gcc dot gnu.org
2024-05-16 10:41 ` ebotcazou at gcc dot gnu.org
0 siblings, 2 replies; 3+ messages in thread
From: pedro at palves dot net @ 2024-05-15 14:52 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115105
Bug ID: 115105
Summary: Document "Reimplement GNU threads library on native
Windows" change on GCC 13 changes list
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: web
Assignee: unassigned at gcc dot gnu.org
Reporter: pedro at palves dot net
Target Milestone: ---
This change:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
commit 9149a5b7e0a66b7b94d5b7db3194a975d18dea2f
Author: Eric Botcazou <botcazou@adacore.com>
AuthorDate: Fri Dec 23 23:45:15 2022 +0000
Commit: Jonathan Yong <10walls@gmail.com>
CommitDate: Fri Dec 23 23:58:06 2022 +0000
Reimplement GNU threads library on native Windows
This reimplements the GNU threads library on native Windows (except for the
Objective-C specific subset) using direct Win32 API calls, in lieu of the
implementation based on semaphores. This base implementations requires
Windows XP/Server 2003, which was the default minimal setting of MinGW-W64
until end of 2020. This also adds the support required for the C++11
threads,
using again direct Win32 API calls; this additional layer requires Windows
Vista/Server 2008 and is enabled only if _WIN32_WINNT >= 0x0600.
This also changes libstdc++ to pass -D_WIN32_WINNT=0x0600 but only when the
switch --enable-libstdcxx-threads is passed, which means that C++11 threads
are still disabled by default *unless* MinGW-W64 itself is configured for
Windows Vista/Server 2008 or later by default (this has been the case in
the development version since end of 2020, for earlier versions you can
configure it --with-default-win32-winnt=0x0600 to get the same effect).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
which is present in GCC 13 according to "git tag --contains 9149a5b7e0a6", and
although seemingly quite important for mingw gcc, is not mentioned anywhere at
https://gcc.gnu.org/gcc-13/changes.html AFAICS. Could that page be updated,
mentioning what this improved in GCC 13, in practice?
Maybe even add some detail to https://gcc.gnu.org/install/configure.html and/or
wherever else the thread models should be documented.
The patch landed after this discussion, AFAICT:
https://gcc.gnu.org/pipermail/gcc-patches/2022-October/604106.html
where somewhere downthread NightStrike said, and I agree:
~~~~
FWIW, Eric's proposal makes more practical sense. Right now, people
ship many permutations of the compiler:
x86, x64, x86+x64
dw2, sjlj (rarely), seh
win32, posix+winpthread
This is not sustainable, and certain combinations are largely
incompatible (...)
~~~~
AFAICT looking around for binary builds of mingw gcc in the interwebs, it's not
easy to find one that uses the win32 model, and I think it could be partially
explained by people not knowing that the win32 model has been improved
substantially and supports C++11 threads properly.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug web/115105] Document "Reimplement GNU threads library on native Windows" change on GCC 13 changes list
2024-05-15 14:52 [Bug web/115105] New: Document "Reimplement GNU threads library on native Windows" change on GCC 13 changes list pedro at palves dot net
@ 2024-05-15 18:56 ` ebotcazou at gcc dot gnu.org
2024-05-16 10:41 ` ebotcazou at gcc dot gnu.org
1 sibling, 0 replies; 3+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2024-05-15 18:56 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115105
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2024-05-15
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
--- Comment #1 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
The thing is, the final state of the implementation is a bit different from the
description present in the commit as far as _WIN32_WINNT is concerned, and I'm
not sure I understand it, so I'd rather not be too precise... But I presume
that a sentence in https://gcc.gnu.org/gcc-13/changes.html mentioning the need
for a recent version of MinGW-W64 should be good enough.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug web/115105] Document "Reimplement GNU threads library on native Windows" change on GCC 13 changes list
2024-05-15 14:52 [Bug web/115105] New: Document "Reimplement GNU threads library on native Windows" change on GCC 13 changes list pedro at palves dot net
2024-05-15 18:56 ` [Bug web/115105] " ebotcazou at gcc dot gnu.org
@ 2024-05-16 10:41 ` ebotcazou at gcc dot gnu.org
1 sibling, 0 replies; 3+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2024-05-16 10:41 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115105
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|NEW |RESOLVED
URL| |https://gcc.gnu.org/piperma
| |il/gcc-cvs-wwwdocs/2024/010
| |474.html
--- Comment #2 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-05-16 10:41 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-15 14:52 [Bug web/115105] New: Document "Reimplement GNU threads library on native Windows" change on GCC 13 changes list pedro at palves dot net
2024-05-15 18:56 ` [Bug web/115105] " ebotcazou at gcc dot gnu.org
2024-05-16 10:41 ` ebotcazou at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).