libc.so.6 dependencies
Florian Weimer
fweimer@redhat.com
Tue Jun 24 20:45:53 GMT 2025
* Adhemerval Zanella Netto:
> On 24/06/25 14:45, Alex Ernst wrote:
>> Hello glibc developers,
>>
>> Why do we have dependency on libgcc_s.so.1 for pthread_cance() and pthread_exit() (compared to older versions of glibc) ?
>>
>> GLIBC 2.28: strings libc.so.6 | grep "must be installed for"
>> libgcc_s.so.1 must be installed for unwinding to work
>>
>> GLIBC 2.41: strings libc.so.6 | grep "must be installed for"
>> libgcc_s.so.1 must be installed for unwinding to work
>> libgcc_s.so.1 must be installed for pthread_cancel to work
>> libgcc_s.so.1 must be installed for pthread_exit to work
>>
>
> The dependency always existed, the 1d95b035c72 (glibc 2.33) moved
> __pthread_unwind_next into libc and the refactor added more meaningful
> error messages depending of which symbol triggered the dlopen failure.
We had a pthread_exit function in libc that just called exit, without
invoking the cleanup handlers. The cleanup handlers were only called if
libpthread was loaded as well, and that triggered loading of
libgcc_s.so.1.
Thanks,
Florian
More information about the Libc-alpha
mailing list