Module Name:    src
Committed By:   christos
Date:           Wed Jun  1 22:48:55 UTC 2016

Modified Files:
        src/external/gpl3/gcc/lib/libasan: Makefile
        src/external/gpl3/gcc/lib/libtsan: Makefile
Added Files:
        src/external/gpl3/gcc/lib: Makefile.sanitizer
        src/external/gpl3/gcc/lib/libubsan: Makefile shlib_version

Log Message:
Add ubsan (not enabled, not tested, compiling)
Update tsan (not enable, not tested, not compiling)
Merge common infrastructure.
XXX: Perhaps the common code should be made into a separate library?
Or always require asan?


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/external/gpl3/gcc/lib/Makefile.sanitizer
cvs rdiff -u -r1.15 -r1.16 src/external/gpl3/gcc/lib/libasan/Makefile
cvs rdiff -u -r1.3 -r1.4 src/external/gpl3/gcc/lib/libtsan/Makefile
cvs rdiff -u -r0 -r1.1 src/external/gpl3/gcc/lib/libubsan/Makefile \
    src/external/gpl3/gcc/lib/libubsan/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/libasan/Makefile
diff -u src/external/gpl3/gcc/lib/libasan/Makefile:1.15 src/external/gpl3/gcc/lib/libasan/Makefile:1.16
--- src/external/gpl3/gcc/lib/libasan/Makefile:1.15	Wed Jun  1 00:20:20 2016
+++ src/external/gpl3/gcc/lib/libasan/Makefile	Wed Jun  1 18:48:55 2016
@@ -1,10 +1,11 @@
+# $NetBSD: Makefile,v 1.16 2016/06/01 22:48:55 christos Exp $
 
 .include <bsd.own.mk>
 
 .include "../Makefile.inc"
+.include "../Makefile.sanitizer"
 
-ASAN=${GCCDIST}/libsanitizer
-.PATH: ${ASAN}/asan ${ASAN}/interception ${ASAN}/sanitizer_common
+.PATH: ${SANITIZER}/asan
 
 ASAN_SRCS= \
 asan_activation.cc \
@@ -30,75 +31,11 @@ asan_win.cc \
 asan_win_dll_thunk.cc \
 asan_win_dynamic_runtime_thunk.cc
 
-INTERCEPTION_SRCS= \
-interception_linux.cc \
-interception_mac.cc \
-interception_type_test.cc \
-interception_win.cc
-
-SANITIZER_SRCS= \
-sanitizer_allocator.cc \
-sanitizer_common.cc \
-sanitizer_common_libcdep.cc \
-sanitizer_coverage_libcdep.cc \
-sanitizer_coverage_mapping_libcdep.cc \
-sanitizer_deadlock_detector1.cc \
-sanitizer_deadlock_detector2.cc \
-sanitizer_flags.cc \
-sanitizer_libc.cc \
-sanitizer_libignore.cc \
-sanitizer_linux.cc \
-sanitizer_linux_libcdep.cc \
-sanitizer_mac.cc \
-sanitizer_persistent_allocator.cc \
-sanitizer_platform_limits_linux.cc \
-sanitizer_platform_limits_posix.cc \
-sanitizer_posix.cc \
-sanitizer_posix_libcdep.cc \
-sanitizer_printf.cc \
-sanitizer_procmaps_common.cc \
-sanitizer_procmaps_netbsd.cc \
-sanitizer_procmaps_freebsd.cc \
-sanitizer_procmaps_linux.cc \
-sanitizer_procmaps_mac.cc \
-sanitizer_stackdepot.cc \
-sanitizer_stacktrace.cc \
-sanitizer_stacktrace_libcdep.cc \
-sanitizer_stacktrace_printer.cc \
-sanitizer_stoptheworld_linux_libcdep.cc \
-sanitizer_suppressions.cc \
-sanitizer_symbolizer.cc \
-sanitizer_symbolizer_libbacktrace.cc \
-sanitizer_symbolizer_libcdep.cc \
-sanitizer_symbolizer_posix_libcdep.cc \
-sanitizer_symbolizer_win.cc \
-sanitizer_thread_registry.cc \
-sanitizer_tls_get_addr.cc \
-sanitizer_unwind_posix_libcdep.cc \
-sanitizer_win.cc
-
-# The linux build does this to avoid preinit sections on shared libraries
-CSHLIBFLAGS+= -DPIC
-
 LIB=	asan
-SRCS=	${ASAN_SRCS} ${INTERCEPTION_SRCS} ${SANITIZER_SRCS}
-CPPFLAGS+=-I${ASAN}/include -I${ASAN}
-CPPFLAGS.sanitizer_netbsd.cc+=-I${GCCDIST}/gcc/ginclude
-CPPFLAGS+=-D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DASAN_HAS_EXCEPTIONS=1 -DASAN_FLEXIBLE_MAPPING_AND_OFFSET=0 -DASAN_NEEDS_SEGV=1
-
-LIBDPLIBS+=    stdc++ ${.CURDIR}/../libstdc++-v3
-LIBDPLIBS+=    pthread ${.CURDIR}/../../../../../lib/libpthread
-COPTS+=-std=gnu++11 -fsized-deallocation -fvisibility=hidden
-COPTS+=-fno-builtin -fno-exceptions -fno-rtti -funwind-tables
-# Can't profile without it`
-#-fomit-frame-pointer
+SRCS+=	${ASAN_SRCS}
 
 .if ${MACHINE_ARCH} == "vax"
 COPTS.asan_allocator2.cc += -O1
-COPTS.sanitizer_mac.cc += -O1
-COPTS.sanitizer_netbsd.cc += -O1
-COPTS.sanitizer_printf.cc += -O1
-COPTS.sanitizer_stackdepot.cc += -O1
 .endif
 
 .include <bsd.lib.mk>

Index: src/external/gpl3/gcc/lib/libtsan/Makefile
diff -u src/external/gpl3/gcc/lib/libtsan/Makefile:1.3 src/external/gpl3/gcc/lib/libtsan/Makefile:1.4
--- src/external/gpl3/gcc/lib/libtsan/Makefile:1.3	Tue Jan  5 08:07:46 2016
+++ src/external/gpl3/gcc/lib/libtsan/Makefile	Wed Jun  1 18:48:55 2016
@@ -1,67 +1,41 @@
-# $NetBSD: Makefile,v 1.3 2016/01/05 13:07:46 christos Exp $
+# $NetBSD: Makefile,v 1.4 2016/06/01 22:48:55 christos Exp $
 
 .include <bsd.own.mk>
 
 .include "../Makefile.inc"
+.include "../Makefile.sanitizer"
 
-TSAN=${GCCDIST}/libsanitizer
-.PATH: ${TSAN}/tsan ${TSAN}/interception ${TSAN}/sanitizer_common
+.PATH: ${SANITIZER}/tsan
 
 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
+tsan_clock.o \
+tsan_fd.o \
+tsan_flags.o \
+tsan_ignoreset.o \
+tsan_interceptors.o \
+tsan_interface.o \
+tsan_interface_ann.o \
+tsan_interface_atomic.o \
+tsan_interface_java.o \
+tsan_md5.o \
+tsan_mman.o \
+tsan_mutex.o \
+tsan_mutexset.o \
+tsan_platform_linux.o \
+tsan_platform_mac.o \
+tsan_platform_windows.o \
+tsan_report.o \
+tsan_rtl.o \
+tsan_rtl_mutex.o \
+tsan_rtl_report.o \
+tsan_rtl_thread.o \
+tsan_stack_trace.o \
+tsan_stat.o \
+tsan_suppressions.o \
+tsan_symbolize.o \
+tsan_sync.o
 
 LIB=	tsan
-SRCS=	${TSAN_SRCS} ${INTERCEPTION_SRCS} ${SANITIZER_SRCS}
-CPPFLAGS+=-I${TSAN}/include -I${TSAN}
-
-LIBDPLIBS+=	stdc++	${.CURDIR}/../libstdc++-v3 \
-		pthread	${NETBSDSRCDIR}/lib/libpthread
+SRCS+=	${TSAN_SRCS}
 
 .include <bsd.lib.mk>

Added files:

Index: src/external/gpl3/gcc/lib/Makefile.sanitizer
diff -u /dev/null src/external/gpl3/gcc/lib/Makefile.sanitizer:1.1
--- /dev/null	Wed Jun  1 18:48:55 2016
+++ src/external/gpl3/gcc/lib/Makefile.sanitizer	Wed Jun  1 18:48:55 2016
@@ -0,0 +1,76 @@
+#	$NetBSD: Makefile.sanitizer,v 1.1 2016/06/01 22:48:55 christos Exp $
+
+SANITIZER=${GCCDIST}/libsanitizer
+.PATH: ${SANITIZER}/interception ${SANITIZER}/sanitizer_common
+
+INTERCEPTION_SRCS= \
+interception_linux.cc \
+interception_mac.cc \
+interception_type_test.cc \
+interception_win.cc
+
+SANITIZER_SRCS= \
+sanitizer_allocator.cc \
+sanitizer_common.cc \
+sanitizer_common_libcdep.cc \
+sanitizer_coverage_libcdep.cc \
+sanitizer_coverage_mapping_libcdep.cc \
+sanitizer_deadlock_detector1.cc \
+sanitizer_deadlock_detector2.cc \
+sanitizer_flags.cc \
+sanitizer_libc.cc \
+sanitizer_libignore.cc \
+sanitizer_linux.cc \
+sanitizer_linux_libcdep.cc \
+sanitizer_mac.cc \
+sanitizer_persistent_allocator.cc \
+sanitizer_platform_limits_linux.cc \
+sanitizer_platform_limits_posix.cc \
+sanitizer_posix.cc \
+sanitizer_posix_libcdep.cc \
+sanitizer_printf.cc \
+sanitizer_procmaps_common.cc \
+sanitizer_procmaps_netbsd.cc \
+sanitizer_procmaps_freebsd.cc \
+sanitizer_procmaps_linux.cc \
+sanitizer_procmaps_mac.cc \
+sanitizer_stackdepot.cc \
+sanitizer_stacktrace.cc \
+sanitizer_stacktrace_libcdep.cc \
+sanitizer_stacktrace_printer.cc \
+sanitizer_stoptheworld_linux_libcdep.cc \
+sanitizer_suppressions.cc \
+sanitizer_symbolizer.cc \
+sanitizer_symbolizer_libbacktrace.cc \
+sanitizer_symbolizer_libcdep.cc \
+sanitizer_symbolizer_posix_libcdep.cc \
+sanitizer_symbolizer_win.cc \
+sanitizer_thread_registry.cc \
+sanitizer_tls_get_addr.cc \
+sanitizer_unwind_posix_libcdep.cc \
+sanitizer_win.cc
+
+# The linux build does this to avoid preinit sections on shared libraries
+CSHLIBFLAGS+= -DPIC
+
+SRCS+=	${INTERCEPTION_SRCS} ${SANITIZER_SRCS}
+CPPFLAGS+=-I${SANITIZER}/include -I${SANITIZER}
+CPPFLAGS.sanitizer_netbsd.cc+=-I${GCCDIST}/gcc/ginclude
+CPPFLAGS+=-D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS
+CPPFLAGS+=-D__STDC_LIMIT_MACROS -DSANITIZER_HAS_EXCEPTIONS=1
+CPPFLAGS+=-DSANITIZER_FLEXIBLE_MAPPING_AND_OFFSET=0 -DSANITIZER_NEEDS_SEGV=1
+
+LIBDPLIBS+=    stdc++ ${.CURDIR}/../libstdc++-v3
+LIBDPLIBS+=    pthread ${.CURDIR}/../../../../../lib/libpthread
+COPTS+=-std=gnu++11 -fsized-deallocation -fvisibility=hidden
+COPTS+=-fno-builtin -fno-exceptions -fno-rtti -funwind-tables
+
+# Can't profile without it`
+#-fomit-frame-pointer
+
+.if ${MACHINE_ARCH} == "vax"
+COPTS.sanitizer_mac.cc += -O1
+COPTS.sanitizer_netbsd.cc += -O1
+COPTS.sanitizer_printf.cc += -O1
+COPTS.sanitizer_stackdepot.cc += -O1
+.endif

Index: src/external/gpl3/gcc/lib/libubsan/Makefile
diff -u /dev/null src/external/gpl3/gcc/lib/libubsan/Makefile:1.1
--- /dev/null	Wed Jun  1 18:48:55 2016
+++ src/external/gpl3/gcc/lib/libubsan/Makefile	Wed Jun  1 18:48:55 2016
@@ -0,0 +1,23 @@
+#	$NetBSD: Makefile,v 1.1 2016/06/01 22:48:55 christos Exp $
+.include <bsd.own.mk>
+
+.include "../Makefile.inc"
+.include "../Makefile.sanitizer"
+
+.PATH: ${SANITIZER}/ubsan
+
+UBSAN_SRCS= \
+ubsan_diag.o \
+ubsan_flags.o \
+ubsan_handlers.o \
+ubsan_handlers_cxx.o \
+ubsan_init.o \
+ubsan_type_hash.o \
+ubsan_value.o
+
+COPTS.ubsan_type_hash.cc+=-frtti
+
+LIB=	ubsan
+SRCS+=	${UBSAN_SRCS}
+
+.include <bsd.lib.mk>
Index: src/external/gpl3/gcc/lib/libubsan/shlib_version
diff -u /dev/null src/external/gpl3/gcc/lib/libubsan/shlib_version:1.1
--- /dev/null	Wed Jun  1 18:48:55 2016
+++ src/external/gpl3/gcc/lib/libubsan/shlib_version	Wed Jun  1 18:48:55 2016
@@ -0,0 +1,2 @@
+major=0
+minor=0

Reply via email to