Module Name: src
Committed By: kamil
Date: Fri Aug 23 06:38:27 UTC 2019
Modified Files:
src: Makefile
src/distrib/sets/lists/base: md.i386
src/external/bsd: Makefile
src/external/bsd/compiler_rt/lib/clang/lib: Makefile
src/external/bsd/compiler_rt/lib/clang/lib/netbsd: Makefile
Log Message:
Enhance MKSANITIZER support
Add i386 support for LLVM sanitizers.
Add new build phases do-sanitizer-* for building LLVM sanitizers after libs
and before other programs. This phase is important as sanitizers need
to link with libs and sanitized programs must link with sanitizer runtimes.
To generate a diff of this commit:
cvs rdiff -u -r1.327 -r1.328 src/Makefile
cvs rdiff -u -r1.152 -r1.153 src/distrib/sets/lists/base/md.i386
cvs rdiff -u -r1.64 -r1.65 src/external/bsd/Makefile
cvs rdiff -u -r1.1 -r1.2 src/external/bsd/compiler_rt/lib/clang/lib/Makefile
cvs rdiff -u -r1.2 -r1.3 \
src/external/bsd/compiler_rt/lib/clang/lib/netbsd/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/Makefile
diff -u src/Makefile:1.327 src/Makefile:1.328
--- src/Makefile:1.327 Fri Jun 14 09:12:42 2019
+++ src/Makefile Fri Aug 23 06:38:27 2019
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.327 2019/06/14 09:12:42 martin Exp $
+# $NetBSD: Makefile,v 1.328 2019/08/23 06:38:27 kamil Exp $
#
# This is the top-level makefile for building NetBSD. For an outline of
@@ -235,6 +235,13 @@ BUILDTARGETS+= includes
.endif
BUILDTARGETS+= do-lib
BUILDTARGETS+= do-compat-lib
+.if ${MKLLVM} != "no"
+BUILDTARGETS+= do-sanitizer-includes
+BUILDTARGETS+= do-sanitizer-lib
+.if ${MKSANITIZER:Uno} == "yes"
+BUILDTARGETS+= do-sanitizer-tools
+.endif
+.endif
.if ${MKX11} != "no"
BUILDTARGETS+= do-x11
.endif
@@ -470,6 +477,20 @@ do-lib: .PHONY .MAKE
do-compat-lib: .PHONY .MAKE
${MAKEDIRTARGET} compat build_install BOOTSTRAP_SUBDIRS="../../../lib"
+do-sanitizer-includes: .PHONY .MAKE
+ ${MAKEDIRTARGET} external/bsd/compiler_rt/lib/clang/include includes
+ ${MAKEDIRTARGET} external/bsd/compiler_rt/lib/clang/share includes
+
+do-sanitizer-lib: .PHONY .MAKE
+ ${MAKEDIRTARGET} external/bsd/compiler_rt/lib/clang/lib build_install
+
+do-sanitizer-tools: .PHONY .MAKE
+.if !exists(${TOOLDIR}/lib/clang)
+ mkdir -p ${TOOLDIR}/lib/clang
+ cd ${DESTDIR}/usr/lib/clang && \
+ ${TOOL_PAX} -rw . ${TOOLDIR}/lib/clang
+.endif
+
do-top-obj: .PHONY .MAKE
${MAKEDIRTARGET} . obj NOSUBDIR=
Index: src/distrib/sets/lists/base/md.i386
diff -u src/distrib/sets/lists/base/md.i386:1.152 src/distrib/sets/lists/base/md.i386:1.153
--- src/distrib/sets/lists/base/md.i386:1.152 Sun Sep 30 15:56:47 2018
+++ src/distrib/sets/lists/base/md.i386 Fri Aug 23 06:38:27 2019
@@ -1,4 +1,4 @@
-# $NetBSD: md.i386,v 1.152 2018/09/30 15:56:47 jmcneill Exp $
+# $NetBSD: md.i386,v 1.153 2019/08/23 06:38:27 kamil Exp $
./dev/lms0 base-obsolete obsolete
./dev/mms0 base-obsolete obsolete
./dev/pms0 base-obsolete obsolete
@@ -19,6 +19,22 @@
./usr/bin/iasl base-util-bin
./usr/bin/pmc base-obsolete obsolete
./usr/bin/vttest base-obsolete obsolete
+./usr/lib/clang/7.0.0/lib/netbsd/libclang_rt.asan-i386.a comp-cxx-lib llvm
+./usr/lib/clang/7.0.0/lib/netbsd/libclang_rt.asan-i386.so comp-cxx-lib llvm
+./usr/lib/clang/7.0.0/lib/netbsd/libclang_rt.asan-i386.so.0 comp-cxx-lib llvm
+./usr/lib/clang/7.0.0/lib/netbsd/libclang_rt.asan-i386.so.0.0 comp-cxx-lib llvm
+./usr/lib/clang/7.0.0/lib/netbsd/libclang_rt.asan-preinit-i386.a comp-cxx-lib llvm
+./usr/lib/clang/7.0.0/lib/netbsd/libclang_rt.asan_cxx-i386.a comp-cxx-lib llvm
+./usr/lib/clang/7.0.0/lib/netbsd/libclang_rt.safestack-i386.a comp-cxx-lib llvm
+./usr/lib/clang/7.0.0/lib/netbsd/libclang_rt.ubsan_minimal-i386.a comp-cxx-lib llvm
+./usr/lib/clang/7.0.0/lib/netbsd/libclang_rt.ubsan_minimal-i386.so comp-cxx-lib llvm
+./usr/lib/clang/7.0.0/lib/netbsd/libclang_rt.ubsan_minimal-i386.so.0 comp-cxx-lib llvm
+./usr/lib/clang/7.0.0/lib/netbsd/libclang_rt.ubsan_minimal-i386.so.0.0 comp-cxx-lib llvm
+./usr/lib/clang/7.0.0/lib/netbsd/libclang_rt.ubsan_standalone-i386.a comp-cxx-lib llvm
+./usr/lib/clang/7.0.0/lib/netbsd/libclang_rt.ubsan_standalone-i386.so comp-cxx-lib llvm
+./usr/lib/clang/7.0.0/lib/netbsd/libclang_rt.ubsan_standalone-i386.so.0 comp-cxx-lib llvm
+./usr/lib/clang/7.0.0/lib/netbsd/libclang_rt.ubsan_standalone-i386.so.0.0 comp-cxx-lib llvm
+./usr/lib/clang/7.0.0/lib/netbsd/libclang_rt.ubsan_standalone_cxx-i386.a comp-cxx-lib llvm
./usr/lib/libi386.so base-sys-shlib pic
./usr/lib/libi386.so.2 base-sys-shlib pic
./usr/lib/libi386.so.2.0 base-sys-shlib pic
Index: src/external/bsd/Makefile
diff -u src/external/bsd/Makefile:1.64 src/external/bsd/Makefile:1.65
--- src/external/bsd/Makefile:1.64 Wed Aug 14 01:42:08 2019
+++ src/external/bsd/Makefile Fri Aug 23 06:38:27 2019
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.64 2019/08/14 01:42:08 kamil Exp $
+# $NetBSD: Makefile,v 1.65 2019/08/23 06:38:27 kamil Exp $
.include <bsd.own.mk>
@@ -30,9 +30,6 @@ SUBDIR+= libc++
.if (${MKLLVM} != "no" || ${MKLLVMRT} != "no")
SUBDIR+= llvm
.endif
-.if (${MKLLVM} != "no")
-SUBDIR+= compiler_rt
-.endif
.if (${MKNSD} != "no")
SUBDIR+= nsd
.endif
Index: src/external/bsd/compiler_rt/lib/clang/lib/Makefile
diff -u src/external/bsd/compiler_rt/lib/clang/lib/Makefile:1.1 src/external/bsd/compiler_rt/lib/clang/lib/Makefile:1.2
--- src/external/bsd/compiler_rt/lib/clang/lib/Makefile:1.1 Thu Aug 8 14:00:28 2019
+++ src/external/bsd/compiler_rt/lib/clang/lib/Makefile Fri Aug 23 06:38:27 2019
@@ -1,5 +1,6 @@
-# $NetBSD: Makefile,v 1.1 2019/08/08 14:00:28 kamil Exp $
+# $NetBSD: Makefile,v 1.2 2019/08/23 06:38:27 kamil Exp $
SUBDIR+= netbsd
+.include <bsd.buildinstall.mk>
.include <bsd.subdir.mk>
Index: src/external/bsd/compiler_rt/lib/clang/lib/netbsd/Makefile
diff -u src/external/bsd/compiler_rt/lib/clang/lib/netbsd/Makefile:1.2 src/external/bsd/compiler_rt/lib/clang/lib/netbsd/Makefile:1.3
--- src/external/bsd/compiler_rt/lib/clang/lib/netbsd/Makefile:1.2 Thu Aug 22 18:15:44 2019
+++ src/external/bsd/compiler_rt/lib/clang/lib/netbsd/Makefile Fri Aug 23 06:38:27 2019
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.2 2019/08/22 18:15:44 adam Exp $
+# $NetBSD: Makefile,v 1.3 2019/08/23 06:38:27 kamil Exp $
.include <bsd.own.mk>
+.if ${MACHINE_ARCH} == "x86_64"
SUBDIR+= asan-m64
SUBDIR+= asan-preinit-m64
SUBDIR+= asan_cxx-m64
@@ -24,8 +25,10 @@ SUBDIR+= xray-m64
SUBDIR+= xray-basic-m64
SUBDIR+= xray-fdr-m64
SUBDIR+= xray-profiling-m64
+.endif
-.if ${MKCOMPAT} != "no"
+.if ${MACHINE_ARCH} == "i386" || \
+ (${MACHINE_ARCH} == "x86_64" && ${MKCOMPAT} != "no")
SUBDIR+= asan-m32
SUBDIR+= asan-preinit-m32
SUBDIR+= asan_cxx-m32