[PATCH 4/4] htl: move pthread_self into libc
Florian Weimer
fw@deneb.enyo.de
Thu Jan 2 10:02:36 GMT 2025
* Samuel Thibault:
> Florian Weimer, le jeu. 02 janv. 2025 10:26:47 +0100, a ecrit:
>> > Florian Weimer, le lun. 31 oct. 2022 08:24:59 +0100, a ecrit:
>> >> > diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
>> >> > index 26552958..bfa47282 100644
>> >> > --- a/sysdeps/mach/hurd/i386/libc.abilist
>> >> > +++ b/sysdeps/mach/hurd/i386/libc.abilist
>> >> > @@ -29,6 +29,7 @@ GLIBC_2.11 mkostemps64 F
>> >> > GLIBC_2.11 mkstemps F
>> >> > GLIBC_2.11 mkstemps64 F
>> >> > GLIBC_2.12 pthread_equal F
>> >> > +GLIBC_2.12 pthread_self F
>> >> > GLIBC_2.13 __fentry__ F
>> >> > GLIBC_2.14 syncfs F
>> >> > GLIBC_2.15 __fdelt_chk F
>> >>
>> >> “GLIBC_2.37 pthread_self” needs to show up there, in addition to the
>> >> GLIBC_2.12 version.
>> >
>> > Why is this needed? Can we not just move the libpthread symbol in libc
>> > with the same version? In which case do we need to add a new version?
>>
>> It's required so that newly linked binaries acquire a version
>> reference that indicates glibc contains this commit:
>>
>> commit f0b2132b35248c1f4a80f62a2c38cddcc802aa8c
>> Author: Florian Weimer <fweimer@redhat.com>
>> Date: Fri Jun 28 10:12:50 2019 +0200
>>
>> ld.so: Support moving versioned symbols between sonames [BZ #24741]
>>
> [...]
>> This change went into glibc 2.30. Main programs already end up with a
>> __libc_start_main@@GLIBC_2.34 reference, but shared objects do not.
>
> Ah, so this is needed only for symbols before 2.30, right?
Yes, I think that's accurate.
More information about the Libc-alpha
mailing list