l...@gnu.org (Ludovic Courtès) writes: > Mark H Weaver <m...@netris.org> skribis: > >>> diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm >>> index a7156bf..dd33a26 100644 >>> --- a/gnu/packages/gcc.scm >>> +++ b/gnu/packages/gcc.scm >>> @@ -213,7 +213,7 @@ where the OS part is overloaded to denote a specific >>> ABI---into GCC >>> ;; below, make sure to update the relevant code in >>> ;; %gcc-static package as needed. >>> (format #f "#define GNU_USER_TARGET_LIB_SPEC \ >>> -\"-L~a/lib %{!static:-rpath=~a/lib %{!static-libgcc:-rpath=~a/lib64 >>> -rpath=~a/lib -lgcc_s}} \" ~a" >>> +\"-L~a/lib %{!static:-rpath=~a/lib %{!static-libgcc:-rpath=~a/lib64 >>> -rpath=~a/lib %{pthread: -lgcc_s}}} \" ~a" >>> libc libc libdir libdir suffix)) >>> (("#define GNU_USER_TARGET_STARTFILE_SPEC.*$" line) >>> (format #f "#define STANDARD_STARTFILE_PREFIX_1 >>> \"~a/lib\" >>> >>> I believe this is enough to address what the comment mentions (glibc >>> dlopening libgcc_s for pthread functions), but this will need testing. > > I see you applied this patch. However, after grepping through libc, I > found there are other cases where libgcc_s is dlopened, including to > walk the stack, which has nothing to do with pthread. > > So I think the status quo is safer. > > WDYT?
Okay, sounds good to me. I also discovered that tcl doesn't pass -pthread on GNU/Linux by default, but only -lpthread. I've reverted the patch above and will soon post another patch which implements my original workaround and worked well in practice. Thanks, Mark