public inbox for libstdc++-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r11-11356] libstdc++, Darwin: Limit recursive mutex init to OS versions needing it.
@ 2024-04-24 18:38 Iain D Sandoe
  0 siblings, 0 replies; only message in thread
From: Iain D Sandoe @ 2024-04-24 18:38 UTC (permalink / raw)
  To: gcc-cvs, libstdc++-cvs

https://gcc.gnu.org/g:17212f5912d8f57b3757633444ae64c9831aa8f7

commit r11-11356-g17212f5912d8f57b3757633444ae64c9831aa8f7
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Sat Dec 3 17:09:35 2022 +0000

    libstdc++, Darwin: Limit recursive mutex init to OS versions needing it.
    
    The problem described in pr 51906 was fixed in the next OS release.  Limit the
    workaround to systems that need it.
    
    Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
    
    libstdc++-v3/ChangeLog:
    
            * config/os/bsd/darwin/os_defines.h
            (_GTHREAD_USE_RECURSIVE_MUTEX_INIT_FUNC): Limit use of this macro
            to OS versions that need it.
    
    (cherry picked from commit a044c9d25972b22c6b4c8ec27f2de5fd622573cc)

Diff:
---
 libstdc++-v3/config/os/bsd/darwin/os_defines.h | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libstdc++-v3/config/os/bsd/darwin/os_defines.h b/libstdc++-v3/config/os/bsd/darwin/os_defines.h
index 0b3bb7950b1..394d7209711 100644
--- a/libstdc++-v3/config/os/bsd/darwin/os_defines.h
+++ b/libstdc++-v3/config/os/bsd/darwin/os_defines.h
@@ -39,8 +39,12 @@
 // -flat_namespace to work around the way that it doesn't.
 #define _GLIBCXX_WEAK_DEFINITION __attribute__ ((weak))
 
-// Static initializer macro is buggy in darwin, see libstdc++/51906
+#if defined (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) \
+     && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1080)
+// Static initializer macro is absent for Darwin < 11 and buggy in Darwin 11,
+// see libstdc++/51906.  Fixed in Darwin 12 (OS X 10.8).
 #define _GTHREAD_USE_RECURSIVE_MUTEX_INIT_FUNC
+#endif
 
 // Configure checks for nanosleep fail on Darwin, but nanosleep and
 // sched_yield are always available, so use them.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-04-24 18:38 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-24 18:38 [gcc r11-11356] libstdc++, Darwin: Limit recursive mutex init to OS versions needing it Iain D Sandoe

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