This is the mail archive of the libc-help@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

libgcc_s.so.1 must be installed for pthread_cancel to work


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]