This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
libgcc_s.so.1 must be installed for pthread_cancel to work
- From: Waldemar Brodkorb <wbx at openadk dot org>
- To: libc-help at sourceware dot org
- Date: Sat, 28 Jun 2014 10:49:12 +0200
- Subject: libgcc_s.so.1 must be installed for pthread_cancel to work
- Authentication-results: sourceware.org; auth=none
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