CVS commit: src/external/gpl3/gcc/lib/libtsan
Module Name:src Committed By: kamil Date: Mon Sep 14 14:33:01 UTC 2020 Modified Files: src/external/gpl3/gcc/lib/libtsan: Makefile Removed Files: src/external/gpl3/gcc/lib/libtsan: tsan_rtl_unimpl.cc Log Message: Avoid using dummy tsan_rtl_unimpl.cc Instead of providing broken support, error during build to catch the problem quickly. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/external/gpl3/gcc/lib/libtsan/Makefile cvs rdiff -u -r1.1 -r0 src/external/gpl3/gcc/lib/libtsan/tsan_rtl_unimpl.cc Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/lib/libtsan/Makefile diff -u src/external/gpl3/gcc/lib/libtsan/Makefile:1.13 src/external/gpl3/gcc/lib/libtsan/Makefile:1.14 --- src/external/gpl3/gcc/lib/libtsan/Makefile:1.13 Sun Sep 13 02:37:32 2020 +++ src/external/gpl3/gcc/lib/libtsan/Makefile Mon Sep 14 14:33:01 2020 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.13 2020/09/13 02:37:32 kamil Exp $ +# $NetBSD: Makefile,v 1.14 2020/09/14 14:33:01 kamil Exp $ UNSUPPORTED_COMPILER.clang= # defined NOSANITIZER=# defined @@ -48,11 +48,16 @@ TSAN_SRCS= \ tsan_symbolize.cc \ tsan_sync.cc -# XXX ${MACHINE} won't match mips64 or ppc64 -.if exists(${SANITIZER}/tsan/tsan_rtl_${MACHINE}.S) -TSAN_SRCS+= tsan_rtl_${MACHINE}.S +.if ${MACHINE_ARCH} == "x86_64" +TSAN_SRCS+= tsan_rtl_amd64.S +.elif ${MACHINE_ARCH} == "aarch64" +TSAN_SRCS+= tsan_rtl_aarch64.S +.elif ${MACHINE_ARCH} == "mips64el" +TSAN_SRCS+= tsan_rtl_mips64.S +.elif ${MACHINE_ARCH} == "powerpc64" +TSAN_SRCS+= tsan_rtl_ppc64.S .else -TSAN_SRCS+= tsan_rtl_unimpl.cc +.error Unsupported .endif LIB= tsan
CVS commit: src/external/gpl3/gcc/lib/libtsan
Module Name:src Committed By: kamil Date: Sat Sep 12 23:04:44 UTC 2020 Modified Files: src/external/gpl3/gcc/lib/libtsan: Makefile Log Message: Always link TSan runtime with librt and libm With these changes, TSan/amd64 works. To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/external/gpl3/gcc/lib/libtsan/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/lib/libtsan/Makefile diff -u src/external/gpl3/gcc/lib/libtsan/Makefile:1.11 src/external/gpl3/gcc/lib/libtsan/Makefile:1.12 --- src/external/gpl3/gcc/lib/libtsan/Makefile:1.11 Sat Sep 12 22:24:22 2020 +++ src/external/gpl3/gcc/lib/libtsan/Makefile Sat Sep 12 23:04:44 2020 @@ -1,4 +1,7 @@ -# $NetBSD: Makefile,v 1.11 2020/09/12 22:24:22 kamil Exp $ +# $NetBSD: Makefile,v 1.12 2020/09/12 23:04:44 kamil Exp $ + +UNSUPPORTED_COMPILER.clang= # defined +NOSANITIZER=# defined .include @@ -53,6 +56,8 @@ TSAN_SRCS+= tsan_rtl_unimpl.cc LIB= tsan SRCS+= ${TSAN_SRCS} +LIBDPLIBS+= rt ${NETBSDSRCDIR}/lib/librt +LIBDPLIBS+= m ${NETBSDSRCDIR}/lib/libm CPPFLAGS+=-DCAN_SANITIZE_UB=0 COPTS.tsan_interceptors.cc += -Wno-unused-function
CVS commit: src/external/gpl3/gcc/lib/libtsan
Module Name:src Committed By: kamil Date: Sat Sep 12 22:24:22 UTC 2020 Modified Files: src/external/gpl3/gcc/lib/libtsan: Makefile Log Message: Ignore unused functions in tsan_interceptors.cc To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/external/gpl3/gcc/lib/libtsan/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/lib/libtsan/Makefile diff -u src/external/gpl3/gcc/lib/libtsan/Makefile:1.10 src/external/gpl3/gcc/lib/libtsan/Makefile:1.11 --- src/external/gpl3/gcc/lib/libtsan/Makefile:1.10 Wed Oct 2 02:54:35 2019 +++ src/external/gpl3/gcc/lib/libtsan/Makefile Sat Sep 12 22:24:22 2020 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.10 2019/10/02 02:54:35 mrg Exp $ +# $NetBSD: Makefile,v 1.11 2020/09/12 22:24:22 kamil Exp $ .include @@ -54,5 +54,6 @@ TSAN_SRCS+= tsan_rtl_unimpl.cc LIB= tsan SRCS+= ${TSAN_SRCS} CPPFLAGS+=-DCAN_SANITIZE_UB=0 +COPTS.tsan_interceptors.cc += -Wno-unused-function .include
CVS commit: src/external/gpl3/gcc/lib/libtsan
Module Name:src Committed By: christos Date: Tue Jan 9 01:51:20 UTC 2018 Modified Files: src/external/gpl3/gcc/lib/libtsan: Makefile Log Message: Add one more file, still does not build. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/external/gpl3/gcc/lib/libtsan/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/lib/libtsan/Makefile diff -u src/external/gpl3/gcc/lib/libtsan/Makefile:1.5 src/external/gpl3/gcc/lib/libtsan/Makefile:1.6 --- src/external/gpl3/gcc/lib/libtsan/Makefile:1.5 Sun Jun 5 16:08:26 2016 +++ src/external/gpl3/gcc/lib/libtsan/Makefile Mon Jan 8 20:51:20 2018 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.5 2016/06/05 20:08:26 christos Exp $ +# $NetBSD: Makefile,v 1.6 2018/01/09 01:51:20 christos Exp $ .include @@ -25,6 +25,7 @@ tsan_platform_linux.o \ tsan_platform_mac.o \ tsan_platform_windows.o \ tsan_report.o \ +tsan_rtl_amd64.o \ tsan_rtl.o \ tsan_rtl_mutex.o \ tsan_rtl_report.o \
CVS commit: src/external/gpl3/gcc/lib/libtsan
Module Name:src Committed By: christos Date: Sun Jun 5 20:08:26 UTC 2016 Modified Files: src/external/gpl3/gcc/lib/libtsan: Makefile Added Files: src/external/gpl3/gcc/lib/libtsan: tsan_rtl_unimpl.cc Log Message: add glue for unimplemented platforms To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/external/gpl3/gcc/lib/libtsan/Makefile cvs rdiff -u -r0 -r1.1 src/external/gpl3/gcc/lib/libtsan/tsan_rtl_unimpl.cc Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/lib/libtsan/Makefile diff -u src/external/gpl3/gcc/lib/libtsan/Makefile:1.4 src/external/gpl3/gcc/lib/libtsan/Makefile:1.5 --- src/external/gpl3/gcc/lib/libtsan/Makefile:1.4 Wed Jun 1 18:48:55 2016 +++ src/external/gpl3/gcc/lib/libtsan/Makefile Sun Jun 5 16:08:26 2016 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.4 2016/06/01 22:48:55 christos Exp $ +# $NetBSD: Makefile,v 1.5 2016/06/05 20:08:26 christos Exp $ .include @@ -35,6 +35,12 @@ tsan_suppressions.o \ tsan_symbolize.o \ tsan_sync.o +.if exists(${SANITIZER}/tsan/tsan_rtl_${MACHINE}.S) +TSAN_SRCS+= tsan_rtl_${MACHINE}.S +.else +TSAN_SRCS+= tsan_rtl_unimpl.cc +.endif + LIB= tsan SRCS+= ${TSAN_SRCS} Added files: Index: src/external/gpl3/gcc/lib/libtsan/tsan_rtl_unimpl.cc diff -u /dev/null src/external/gpl3/gcc/lib/libtsan/tsan_rtl_unimpl.cc:1.1 --- /dev/null Sun Jun 5 16:08:26 2016 +++ src/external/gpl3/gcc/lib/libtsan/tsan_rtl_unimpl.cc Sun Jun 5 16:08:26 2016 @@ -0,0 +1,4 @@ +#include + +extern "C" void __tsan_report_race_thunk(void) { abort(); } +extern "C" void __tsan_trace_switch_thunk(void) { abort(); }
CVS commit: src/external/gpl3/gcc/lib/libtsan
Module Name:src Committed By: christos Date: Wed Jan 7 03:49:14 UTC 2015 Modified Files: src/external/gpl3/gcc/lib/libtsan: Makefile Added Files: src/external/gpl3/gcc/lib/libtsan: shlib_version Log Message: fix library name; add shared library version To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/external/gpl3/gcc/lib/libtsan/Makefile cvs rdiff -u -r0 -r1.1 src/external/gpl3/gcc/lib/libtsan/shlib_version Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/lib/libtsan/Makefile diff -u src/external/gpl3/gcc/lib/libtsan/Makefile:1.1 src/external/gpl3/gcc/lib/libtsan/Makefile:1.2 --- src/external/gpl3/gcc/lib/libtsan/Makefile:1.1 Wed Oct 22 17:22:06 2014 +++ src/external/gpl3/gcc/lib/libtsan/Makefile Tue Jan 6 22:49:13 2015 @@ -1,3 +1,4 @@ +# $NetBSD: Makefile,v 1.2 2015/01/07 03:49:13 christos Exp $ .include bsd.own.mk @@ -56,7 +57,7 @@ SANITIZER_SRCS= \ # The linux build does this to avoid preinit sections on shared libraries CSHLIBFLAGS+= -DPIC -LIB= asan +LIB= tsan SRCS= ${TSAN_SRCS} ${INTERCEPTION_SRCS} ${SANITIZER_SRCS} CPPFLAGS+=-I${TSAN}/include -I${TSAN} Added files: Index: src/external/gpl3/gcc/lib/libtsan/shlib_version diff -u /dev/null src/external/gpl3/gcc/lib/libtsan/shlib_version:1.1 --- /dev/null Tue Jan 6 22:49:14 2015 +++ src/external/gpl3/gcc/lib/libtsan/shlib_version Tue Jan 6 22:49:13 2015 @@ -0,0 +1,2 @@ +major=0 +minor=0
CVS commit: src/external/gpl3/gcc/lib/libtsan
Module Name:src Committed By: christos Date: Wed Oct 22 21:22:07 UTC 2014 Added Files: src/external/gpl3/gcc/lib/libtsan: Makefile Log Message: Add build glue To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 src/external/gpl3/gcc/lib/libtsan/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Added files: Index: src/external/gpl3/gcc/lib/libtsan/Makefile diff -u /dev/null src/external/gpl3/gcc/lib/libtsan/Makefile:1.1 --- /dev/null Wed Oct 22 17:22:07 2014 +++ src/external/gpl3/gcc/lib/libtsan/Makefile Wed Oct 22 17:22:06 2014 @@ -0,0 +1,66 @@ + +.include bsd.own.mk + +.include ../Makefile.inc + +TSAN=${GCCDIST}/libsanitizer +.PATH: ${TSAN}/tsan ${TSAN}/interception ${TSAN}/sanitizer_common + +TSAN_SRCS= \ + tsan_clock.cc \ + tsan_fd.cc \ + tsan_flags.cc \ + tsan_interceptors.cc \ + tsan_interface.cc \ + tsan_interface_ann.cc \ + tsan_interface_atomic.cc \ + tsan_interface_java.cc \ + tsan_md5.cc \ + tsan_mman.cc \ + tsan_mutex.cc \ + tsan_mutexset.cc \ + tsan_platform_linux.cc \ + tsan_platform_mac.cc \ + tsan_report.cc \ + tsan_rtl.cc \ + tsan_rtl_amd64.S \ + tsan_rtl_mutex.cc \ + tsan_rtl_report.cc \ + tsan_rtl_thread.cc \ + tsan_stat.cc \ + tsan_suppressions.cc \ + tsan_symbolize.cc \ + tsan_symbolize_addr2line_linux.cc \ + tsan_sync.cc + +INTERCEPTION_SRCS= \ + interception_linux.cc \ + interception_type_test.cc + +SANITIZER_SRCS= \ + sanitizer_allocator.cc \ + sanitizer_common.cc \ + sanitizer_flags.cc \ + sanitizer_libc.cc \ + sanitizer_netbsd.cc \ + sanitizer_mac.cc \ + sanitizer_posix.cc \ + sanitizer_platform_limits_posix.cc \ + sanitizer_printf.cc \ + sanitizer_stackdepot.cc \ + sanitizer_stacktrace.cc \ + sanitizer_symbolizer.cc \ + sanitizer_symbolizer_linux.cc \ + sanitizer_win.cc + +# The linux build does this to avoid preinit sections on shared libraries +CSHLIBFLAGS+= -DPIC + +LIB= asan +SRCS= ${TSAN_SRCS} ${INTERCEPTION_SRCS} ${SANITIZER_SRCS} +CPPFLAGS+=-I${TSAN}/include -I${TSAN} + +LDADD+= -lstdc++ -lpthread +DPADD+= ${LIBSTDCXX} ${LIBPTHREAD} + +.include bsd.lib.mk