Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/gpl3/gcc/dist/gcc/config Libtsan intercepts the pth...



details:   https://anonhg.NetBSD.org/src/rev/532abcab2cc2
branches:  trunk
changeset: 991083:532abcab2cc2
user:      hannken <hannken%NetBSD.org@localhost>
date:      Sun Nov 07 09:22:58 2021 +0000

description:
Libtsan intercepts the pthread exported functions with
dlsym(RTLD_NEXT, func_name).  This fails for pthread_join() as it
is present both as a stub in libc and as real operation in libpthread
and the search order is "libtsan.so libc.so libpthread.so".

Force the order "libtsan.so libpthread.so libc.so" so symbols
get intercepted from libpthread first.

Ok: Matthew Green <mrg%netbsd.org@localhost>

diffstat:

 external/gpl3/gcc/dist/gcc/config/netbsd.h |  6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diffs (13 lines):

diff -r 664e90b63e13 -r 532abcab2cc2 external/gpl3/gcc/dist/gcc/config/netbsd.h
--- a/external/gpl3/gcc/dist/gcc/config/netbsd.h        Sun Nov 07 08:41:13 2021 +0000
+++ b/external/gpl3/gcc/dist/gcc/config/netbsd.h        Sun Nov 07 09:22:58 2021 +0000
@@ -203,3 +203,9 @@
   do {                                                                 \
     netbsd_patch_builtins ();                                          \
   } while(0)
+
+#if defined(HAVE_LD_STATIC_DYNAMIC)
+#undef LIBTSAN_EARLY_SPEC
+#define LIBTSAN_EARLY_SPEC "%{static-libtsan:" LD_STATIC_OPTION "}"    \
+  " -ltsan %{static-libtsan:" LD_DYNAMIC_OPTION "} -lpthread"
+#endif



Home | Main Index | Thread Index | Old Index