libgcc_s.so.1 must be installed for pthread_cancel to work
Waldemar Brodkorb
wbx@openadk.org
Sat Jun 28 08:49:00 GMT 2014
Dear Libc Hackers,
I recently decided to change my toolchain to use a static libgcc.
This initially worked fine so far. So there is no libgcc_s.so.1
in my toolchain nor on my target.
Now I recognized that for backtrace functions and pthread_cancel,
dlopen is used to get the required unwinding code from
libgcc_s.so.1.
Is there a way to avoid libgcc_s.so.1 when using GNU libc?
Is there a technical reason why the needed code can not be linked
statically from libgcc_eh.a or a libgcc.a (with contains libgcc_eh.a
functions, in the case of a gcc build with static libgcc)?
There are other C libraries, which do not use any unwinding code
from libgcc_eh.a to implement pthread_cancel.
BTW: Is static linking with GNU libc supported or discouraged?
I know there would be still the issue with NSS (but there is a FAQ
entry on your site, which explains a solution for that), but is static
linking a supported method or should I avoid it with GNU libc?
Thanks in advance for clarifying any of my misunderstandings,
best regards
Waldemar
More information about the Libc-help
mailing list