diff mbox series

libgcc: Do use weakrefs for glibc 2.34 on GNU Hurd

Message ID Zi+2TOJn+hQcdtrx@tucnak
State New
Headers show
Series libgcc: Do use weakrefs for glibc 2.34 on GNU Hurd | expand

Commit Message

Jakub Jelinek April 29, 2024, 3:01 p.m. UTC
On Mon, Apr 29, 2024 at 01:44:24PM +0000, 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  <jakub@redhat.com>

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



	Jakub

Comments

Joseph Myers April 29, 2024, 6:32 p.m. UTC | #1
On Mon, 29 Apr 2024, Jakub Jelinek wrote:

> On Mon, Apr 29, 2024 at 01:44:24PM +0000, 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  <jakub@redhat.com>
> 
> 	* 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.
diff mbox series

Patch

--- libgcc/gthr.h.jj	2024-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