Current-Users archive

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

Re: Sanitizers -- status & how to use?



> So, "This does not work with clang / LLVM" apparently"; looks
> like I'll have to put my hope to gcc.  Or am I doing something
> wrong?  Anyone want to make a prediction about how that'll turn
> out with the in-tree gcc 10.5.0?

Re-trying with in-tree gcc but with the -fsanitize=thread
argument added:

  CCLD     cfg_test
ld: /usr/pkgsrc/wip/bind920/work/bind-9.20.3/lib/isc/.libs/libisc.so: undefined reference to `backtrace_symbols_fd'

% nm -o -p /usr/lib/libexecinfo.so | grep backtrace_symbols_fd
/usr/lib/libexecinfo.so:0000000000001647 T backtrace_symbols_fd_fmt
/usr/lib/libexecinfo.so:00000000000016c8 T backtrace_symbols_fd
% 

Hmm...  New attempt:

% git diff Makefile
diff --git a/bind920/Makefile b/bind920/Makefile
index d270b440ea..6f706070c5 100644
--- a/bind920/Makefile
+++ b/bind920/Makefile
@@ -29,6 +29,12 @@ GNU_CONFIGURE=               yes
 CHECK_FILES_SKIP=      bin/tests/system/system-test-driver.sh
 MAKE_ENV+=             WRKDIR=${WRKDIR} PREFIX=${PREFIX}
 
+# Try to use thread sanitizer
+#PKGSRC_COMPILER=      clang   # does not work with thread sanitizer(!)
+CFLAGS+=               -g
+CFLAGS+=               -fsanitize=thread
+LDFLAGS+=              -lexecinfo
+
 .if ${OPSYS} == "Linux" && !exists(/usr/include/sys/capability.h)
 CONFIGURE_ARGS+=               --disable-linux-caps
 .endif
% 

and with that at least the build completed:

=> Creating /usr/pkgsrc/wip/bind920/work/.rc.d/named9
378.961u 78.529s 7:36.63 100.1% 509+78k 3+38245io 209pf+0w

Not yet tested the result, though.  That's for ... probably
tomorrow.

Regards,

- Håvard


Home | Main Index | Thread Index | Old Index