Some pthread functions in glibc, for example pthread_cancel, depend on glibc and open it dynamically at runtime. If not installed, applications calling those pthread functions fail with: libgcc_s.so.1 must be installed for pthread_cancel to work Adding RDEPENDS += "libgcc" to application recipes is the wrong solution, because they shouldn't have to know about this glibc-internal implementation detail, nor should they have to check whether they are linked against glibc in the first place. Adding RDEPENDS += "libgcc" to glibc itself would be better, but some people are concerned about the wasted disk space when it is not actually needed by anything in the image. The right solution therefore seems to be an enhancement of the automatic shlib analysis code. It needs to know which pthread functions need libgcc and if glibc is used and these functions are called, add the RDEPENDS for the calling application automatically.
Moved en masse from 4.2 to 4.3 by Randy.
libgcc_s.so is 130K. I think we should just add RDEPENDS:${PN} += "libgcc" to glibc.
We've come this far without doing that and we do have embedded users so I'd prefer to avoid doing that if we can...