1 --- gcc-9.5.0/libgcc/gthr-posix.h.orig 2022-05-27 09:21:12.915389144 +0200
2 +++ gcc-9.5.0/libgcc/gthr-posix.h 2023-04-21 21:34:01.235216833 +0200
3 @@ -372,7 +372,7 @@ __gthread_objc_thread_detach (void (*fun
5 if (!(__gthrw_(pthread_create) (&new_thread_handle, &_objc_thread_attribs,
7 - thread_id = (objc_thread_t) new_thread_handle;
8 + thread_id = (objc_thread_t) new_thread_handle.p;
12 @@ -469,7 +469,7 @@ static inline objc_thread_t
13 __gthread_objc_thread_id (void)
15 if (__gthread_active_p ())
16 - return (objc_thread_t) __gthrw_(pthread_self) ();
17 + return (objc_thread_t) __gthrw_(pthread_self) ().x;
19 return (objc_thread_t) 1;
21 --- gcc-10.4.0/libstdc++-v3/include/std/thread.orig 2022-06-28 10:54:31.000000000 +0200
22 +++ gcc-10.4.0/libstdc++-v3/include/std/thread 2023-06-26 20:52:28.956925074 +0200
23 @@ -299,7 +299,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
24 // can't safely use __gthread_equal on default-constructed values (nor
25 // the non-zero value returned by this_thread::get_id() for
26 // single-threaded programs using GNU libc). Assume EqualityComparable.
27 - return __x._M_thread == __y._M_thread;
28 + return __x._M_thread.p == __y._M_thread.p;
31 #if __cpp_lib_three_way_comparison
32 @@ -316,7 +316,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
34 // Pthreads doesn't define any way to do this, so we just have to
35 // assume native_handle_type is LessThanComparable.
36 - return __x._M_thread < __y._M_thread;
37 + return __x._M_thread.p < __y._M_thread.p;
41 @@ -340,7 +340,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
44 operator()(const thread::id& __id) const noexcept
45 - { return std::_Hash_impl::hash(__id._M_thread); }
46 + { return std::_Hash_impl::hash(__id._M_thread.p); }
49 template<class _CharT, class _Traits>