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).