[OE-core] pthreads should rdepend on libgcc

Richard Purdie richard.purdie at linuxfoundation.org
Wed Nov 13 21:58:43 UTC 2019


On Wed, 2019-11-13 at 22:03 +0100, Bartosz Golaszewski wrote:
> śr., 13 lis 2019 o 16:04 Mark Hatle <mark.hatle at kernel.crashing.org>
> napisał(a):
> > On 11/13/19 2:34 AM, Bartosz Golaszewski wrote:
> > > This isn't a patch as I'm not sure how to fix the right way it
> > > but it
> > > seems to my that every program that calls pthread_exit()
> > > indirectly
> > > rdepends on libgcc_s.so.1 being installed in the system (at least
> > > when
> > > using glibc).
> > > 
> > > This is because the implementation of __pthread_exit() in glibc
> > > calls
> > > pthread_cancel() which leads to pthread_cancel_init() being
> > > called in
> > > which said shared object is being loaded with dlopen(). When this
> > > fails, the program aborts with the following error message:
> > > 
> > >     libgcc_s.so.1 must be installed for pthread_cancel to work
> > >     Aborted
> > 
> > Fix for this would be to declare a runtime-dependency on
> > libgcc_s.so.1 in the
> > glibc libpthread package.
> > 
> 
> There is no real libpthread package. There's libpthread-stubs but it
> only contains pkgconfig files. The actual pthread shared library is
> in
> libc6 package and its inclusion doesn't seem to be conditional. In
> that case - isn't it better to just make libgcc_s.so.1 part of libc6?

There have been strong objections to that in the past which brings us
back to Ross' proposal...

Cheers,

Richard



More information about the Openembedded-core mailing list