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