Up to [cvs.NetBSD.org] / src / external / bsd / compiler_rt / lib / clang / lib / netbsd / ubsan_standalone_cxx-m64
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
- get the version dynamically - move more common stuff into common.mk
compiler_rt: build .a.syms files as part of dependall The previous target 'all' is a top-level target intended to be specified by the user. During the regular build, 'dependall' is used instead of 'all'. The target 'realall' is common to those two.
compiler_rt: generate symbol table early These libraries have the special feature that they install both the .a library as well as the .a.syms that is generated from them. To avoid the transformation rule .a.a.syms to apply to the files in ${DESTDIR}, that rule has to be disabled during the installation phase. If the transformation rule were active during installation, the .a.syms file in ${DESTDIR} would have more than one possible source file, which eventually leads to an error during installation since in the command "install a b c", the last argument must be a directory, not a file. The installation phase should be as minimal as possible anyway, therefore move the generation of the .syms files to the build phase. This hopefully fixes the build for HAVE_LLVM=yes, which has been broken for several weeks now, at least for the official builds.
Mostly merge changes from HEAD upto 20200411
Pull up following revision(s) (requested by kamil in ticket #149): external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_minimal-m64/Makefile: revision 1.4 external/bsd/compiler_rt/lib/clang/lib/netbsd/msan_cxx-m64/Makefile: revision 1.4 external/bsd/compiler_rt/lib/clang/lib/netbsd/asan_cxx-m64/Makefile: revision 1.4 external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_standalone_cxx-m64/Makefile: revision 1.4 external/bsd/compiler_rt/lib/clang/lib/netbsd/syms.mk: revision 1.3 external/bsd/compiler_rt/lib/clang/lib/netbsd/msan-m64/Makefile: revision 1.4 external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_standalone-m64/Makefile: revision 1.4 external/bsd/compiler_rt/lib/clang/lib/netbsd/asan-m64/Makefile: revision 1.4 external/bsd/compiler_rt/lib/clang/lib/netbsd/tsan-m64/Makefile: revision 1.4 external/bsd/compiler_rt/lib/clang/lib/netbsd/tsan_cxx-m64/Makefile: revision 1.4 Register syms.extra in LLVM sanitizer .syms files syms.extra contain additional content that has to be shipped with these .syms files. At least libFuzzer requires the .syms files to be in order.
Pull up following revision(s) (requested by kamil in ticket #126): external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_minimal-m64/Makefile: revision 1.3 external/bsd/compiler_rt/lib/clang/lib/netbsd/msan_cxx-m64/Makefile: revision 1.3 external/gpl2/lvm2/lvm2tools.mk: revision 1.5 common/lib/libc/gmon/mcount.c: revision 1.14 Makefile: revision 1.331 share/mk/Makefile: revision 1.51 external/bsd/fetch/lib/Makefile: revision 1.12 external/bsd/compiler_rt/lib/clang/lib/netbsd/asan_cxx-m64/Makefile: revision 1.3 tests/lib/libc/net/Makefile: revision 1.12 external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_standalone_cxx-m64/Makefile: revision 1.3 external/bsd/compiler_rt/lib/clang/lib/netbsd/msan-m64/Makefile: revision 1.3 distrib/sets/lists/base/mi: revision 1.1213 share/mk/bsd.lib.mk: revision 1.380 external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_standalone-m64/Makefile: revision 1.3 external/bsd/compiler_rt/lib/clang/lib/netbsd/asan-m64/Makefile: revision 1.3 share/mk/bsd.sanitizer.mk: revision 1.1 share/mk/bsd.prog.mk: revision 1.323 external/bsd/compiler_rt/lib/clang/lib/netbsd/tsan-m64/Makefile: revision 1.3 external/bsd/compiler_rt/lib/clang/lib/netbsd/tsan_cxx-m64/Makefile: revision 1.3 lib/libc/gen/sysctlgetmibinfo.c: revision 1.14 Enhance the support of LLVM sanitizers Define _REENTRANT for MKSANITIZER build. This is needed for at least stdio code. This caused new build issued with duplicated symbols in few places and rump kernel code picking different code paths borrowed from libc. Handle all this in one go. Add bsd.sanitizer.mk to share common code used by programs and libraries. Switch from realall to beforeinstall target in .syms files. This is more reliable in MKSANITIZER.
Pull up following revision(s) (requested by kamil in ticket #122): external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_minimal-m64/Makefile: revision 1.2 distrib/sets/lists/base/md.amd64: revision 1.280 external/bsd/compiler_rt/lib/clang/lib/netbsd/msan_cxx-m64/Makefile: revision 1.2 distrib/sets/lists/comp/md.amd64: revision 1.272 external/bsd/compiler_rt/lib/clang/lib/Makefile: revision 1.2 external/bsd/compiler_rt/lib/clang/lib/Makefile: revision 1.3 distrib/sets/lists/comp/md.i386: revision 1.190 external/bsd/compiler_rt/lib/clang/Makefile: revision 1.2 Makefile: revision 1.330 external/bsd/compiler_rt/lib/clang/lib/netbsd/xray-m64/Makefile: revision 1.2 external/bsd/compiler_rt/lib/clang/lib/netbsd/safestack-m32/Makefile: revision 1.2 external/bsd/compiler_rt/lib/clang/lib/netbsd/asan_cxx-m64/Makefile: revision 1.2 distrib/sets/lists/base/md.i386: revision 1.153 distrib/sets/lists/base/md.i386: revision 1.154 external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_standalone_cxx-m64/Makefile: revision 1.2 external/bsd/Makefile: revision 1.65 external/bsd/compiler_rt/lib/clang/lib/netbsd/syms.mk: revision 1.2 external/bsd/compiler_rt/lib/clang/lib/netbsd/sources.mk: revision 1.2 external/bsd/compiler_rt/lib/clang/lib/netbsd/msan-m64/Makefile: revision 1.2 external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_standalone-m64/Makefile: revision 1.2 external/bsd/compiler_rt/lib/clang/lib/netbsd/safestack-m64/Makefile: revision 1.2 external/bsd/compiler_rt/lib/clang/lib/netbsd/asan-m64/Makefile: revision 1.2 distrib/sets/lists/base/md.amd64: revision 1.279 external/bsd/compiler_rt/Makefile: revision 1.2 external/bsd/compiler_rt/lib/clang/lib/netbsd/Makefile: revision 1.2 external/bsd/compiler_rt/lib/clang/lib/netbsd/Makefile: revision 1.3 external/bsd/compiler_rt/lib/clang/lib/netbsd/tsan-m64/Makefile: revision 1.2 Makefile: revision 1.328 Makefile: revision 1.329 external/bsd/compiler_rt/lib/clang/lib/netbsd/tsan_cxx-m64/Makefile: revision 1.2 Fix building compiler_rt with MKCOMPAT=no; approved by kamil@ 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. Fix LLVM sanitizer build by GCC (HAVE_LLVM=no) Do not error if a priority from 0 to 100 is used for constructor or destructor. Use -Wno-error to silence all errors from this warning type. There should be used -Wno-prio-ctor-dtor, but it's not supported by GCC7. Rework the LLVM compiler_rt build rules Register external/bsd/compiler_rt as a _SUBDIR. This will allow to handle properly includes specific for compiler_rt. Centralize build_install target for external/bsd/compiler_rt. With the above changes MKOBJDIR is now respected properly for me. Do not install LLVM sanitizers into TOOLDIR for !HAVE_LLVM. Correct the build rules of LLVM sanitizers Fix generation of .a.syms files in LLVM sanitizers. The old rules weren't functional and sometimes they were fatal in the build. Add the .a.syms files to distribution sets. These files are generated only in certain .a files in 64bit version of sanitizers. Correct the location of files with LLVM sanitizers. Move the LLVM sanitizer entries from base to comp files.
file Makefile was added on branch phil-wifi on 2020-04-13 07:45:57 +0000
Register syms.extra in LLVM sanitizer .syms files syms.extra contain additional content that has to be shipped with these .syms files. At least libFuzzer requires the .syms files to be in order.
Enhance the support of LLVM sanitizers Define _REENTRANT for MKSANITIZER build. This is needed for at least stdio code. This caused new build issued with duplicated symbols in few places and rump kernel code picking different code paths borrowed from libc. Handle all this in one go. Add bsd.sanitizer.mk to share common code used by programs and libraries. Switch from realall to beforeinstall target in .syms files. This is more reliable in MKSANITIZER.
Correct the build rules of LLVM sanitizers Fix generation of .a.syms files in LLVM sanitizers. The old rules weren't functional and sometimes they were fatal in the build. Add the .a.syms files to distribution sets. These files are generated only in certain .a files in 64bit version of sanitizers. Correct the location of files with LLVM sanitizers. Move the LLVM sanitizer entries from base to comp files.
Pull up following revision(s) (requested by kamil in ticket #58): external/bsd/compiler_rt/lib/clang/lib/netbsd/fuzzer-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/asan-dynamic-m64/shlib_version: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/xray-profiling-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/asan-dynamic-m32/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/msan_cxx-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/asan-preinit-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/shared_deps.mk: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/asan-dynamic-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/fuzzer_no_main-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_minimal-dynamic-m32/shlib_version: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/asan_cxx-m32/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/Makefile: revision 1.1 external/bsd/compiler_rt/lib/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/xray-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_standalone_cxx-m32/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_standalone-m32/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/m32.mk: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/safestack-m32/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/dd-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/asan-m32/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/asan_cxx-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/share/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_standalone-dynamic-m32/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_standalone_cxx-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/asan-dynamic-m32/shlib_version: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_standalone-dynamic-m64/shlib_version: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/syms.mk: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/sources.mk: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/msan-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/gen_dynamic_list.sh: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_standalone-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/safestack-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/asan-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_minimal-dynamic-m32/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/dyndd-m64/shlib_version: revision 1.1 external/bsd/compiler_rt/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_standalone-dynamic-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/dyndd-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/xray-basic-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_minimal-dynamic-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_minimal-dynamic-m64/shlib_version: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/tsan-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/include/sanitizer/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_minimal-m32/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/tsan_cxx-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/common.mk: revision 1.1 external/bsd/compiler_rt/lib/clang/include/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/m64.mk: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/asan-preinit-m32/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_standalone-dynamic-m32/shlib_version: revision 1.1 external/bsd/compiler_rt/lib/clang/include/xray/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/xray-fdr-m64/Makefile: revision 1.1 external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_minimal-m64/Makefile: revision 1.1 Add compiler-rt build rules for LLVM sanitizers &co Add build rules for LLVM in all the supported variations for NetBSD/amd64: - asan - xray - tsan, dd - libfuzzer - msan - safestack - ubsan These build rules compile functional sanitizers. The build rules are still not hooked into the distribution build, as there is pending work on backporting improvements for the llvm-8 branch needed for netbsd-9 and newer.
file Makefile was added on branch netbsd-9 on 2019-08-16 18:44:08 +0000
Add compiler-rt build rules for LLVM sanitizers &co Add build rules for LLVM in all the supported variations for NetBSD/amd64: - asan - xray - tsan, dd - libfuzzer - msan - safestack - ubsan These build rules compile functional sanitizers. The build rules are still not hooked into the distribution build, as there is pending work on backporting improvements for the llvm-8 branch needed for netbsd-9 and newer.