Re: [PATCH] libgcc: Do use weakrefs for glibc 2.34 on GNU Hurd

2024-04-29 Thread Joseph Myers
On Mon, 29 Apr 2024, Jakub Jelinek wrote:

> On Mon, Apr 29, 2024 at 01:44:24PM +, Joseph Myers wrote:
> > > glibc 2.34 and later doesn't have separate libpthread (libpthread.so.0 is 
> > > a
> > > dummy shared library with just some symbol versions for compatibility, but
> > > all the pthread_* APIs are in libc.so.6).
> > 
> > I suspect this has caused link failures in the glibc testsuite for Hurd, 
> > which still has separate libpthread.
> > 
> > https://sourceware.org/pipermail/libc-testresults/2024q2/012556.html
> 
> So like this then?  I can't really test it on Hurd, but will certainly
> test on x86_64-linux/i686-linux.
> 
> 2024-04-29  Jakub Jelinek  
> 
>   * gthr.h (GTHREAD_USE_WEAK): Don't redefine to 0 for glibc 2.34+
>   on GNU Hurd.

Yes, this fixes the problem seem for Hurd with build-many-glibcs.py.

-- 
Joseph S. Myers
josmy...@redhat.com



[PATCH] libgcc: Do use weakrefs for glibc 2.34 on GNU Hurd

2024-04-29 Thread Jakub Jelinek
On Mon, Apr 29, 2024 at 01:44:24PM +, Joseph Myers wrote:
> > glibc 2.34 and later doesn't have separate libpthread (libpthread.so.0 is a
> > dummy shared library with just some symbol versions for compatibility, but
> > all the pthread_* APIs are in libc.so.6).
> 
> I suspect this has caused link failures in the glibc testsuite for Hurd, 
> which still has separate libpthread.
> 
> https://sourceware.org/pipermail/libc-testresults/2024q2/012556.html

So like this then?  I can't really test it on Hurd, but will certainly
test on x86_64-linux/i686-linux.

2024-04-29  Jakub Jelinek  

* gthr.h (GTHREAD_USE_WEAK): Don't redefine to 0 for glibc 2.34+
on GNU Hurd.

--- libgcc/gthr.h.jj2024-04-25 20:43:10.555694952 +0200
+++ libgcc/gthr.h   2024-04-29 16:57:40.734062691 +0200
@@ -142,7 +142,7 @@ see the files COPYING3 and COPYING.RUNTI
 #endif
 
 #ifdef __GLIBC_PREREQ
-#if __GLIBC_PREREQ(2, 34)
+#if __GLIBC_PREREQ(2, 34) && !defined(__gnu_hurd__)
 /* glibc 2.34 and later has all pthread_* APIs inside of libc,
no need to link separately with -lpthread.  */
 #undef GTHREAD_USE_WEAK


Jakub