Add several sanitizer ignore lists under /usr/lib/clang

Some of the sanitizers from compiler-rt can use ignore lists, which are
loosely modeled on valgrind's example. Upstream provides default lists
for AddressSanitizer, CFI, and MemorySanitizer, so install these in the
expected location, /usr/lib/clang/14.0.3/share.

Reviewed by:	emaste
MFC after:	2 weeks
Differential Revision: https://reviews.freebsd.org/D35338
This commit is contained in:
Dimitry Andric 2022-05-27 20:23:37 +02:00
parent 9cb70cb476
commit 7b6f5ebef6
6 changed files with 16 additions and 0 deletions

View file

@ -57,6 +57,8 @@
lib
freebsd
..
share
..
..
..
..

View file

@ -80,4 +80,7 @@ SRCS+= ubsan/ubsan_init.cpp
SRCS+= ubsan/ubsan_monitor.cpp
SRCS+= ubsan/ubsan_value.cpp
FILESDIR= ${SANITIZER_SHAREDIR}
FILES+= asan/asan_ignorelist.txt
.include <bsd.lib.mk>

View file

@ -36,4 +36,7 @@ SRCS+= sanitizer_common/sanitizer_thread_registry.cpp
SRCS+= sanitizer_common/sanitizer_tls_get_addr.cpp
SRCS+= sanitizer_common/sanitizer_type_traits.cpp
FILESDIR= ${SANITIZER_SHAREDIR}
FILES+= cfi/cfi_ignorelist.txt
.include <bsd.lib.mk>

View file

@ -1,6 +1,7 @@
CLANG_SUBDIR=clang/14.0.3
CLANGDIR= /usr/lib/${CLANG_SUBDIR}
SANITIZER_LIBDIR= ${CLANGDIR}/lib/freebsd
SANITIZER_SHAREDIR= ${CLANGDIR}/share
# armv[67] is a bit special since we allow a soft-floating version via
# CPUTYPE matching *soft*. This variant may not actually work though.

View file

@ -64,4 +64,7 @@ SRCS+= ubsan/ubsan_init.cpp
SRCS+= ubsan/ubsan_monitor.cpp
SRCS+= ubsan/ubsan_value.cpp
FILESDIR= ${SANITIZER_SHAREDIR}
FILES+= msan/msan_ignorelist.txt
.include <bsd.lib.mk>

View file

@ -1488,6 +1488,10 @@ OLD_FILES+=usr/lib/clang/14.0.3/lib/freebsd/libclang_rt.xray-profiling-x86_64.a
OLD_FILES+=usr/lib/clang/14.0.3/lib/freebsd/libclang_rt.xray-x86_64.a
OLD_DIRS+=usr/lib/clang/14.0.3/lib/freebsd
OLD_DIRS+=usr/lib/clang/14.0.3/lib
OLD_FILES+=usr/lib/clang/14.0.3/share/asan_ignorelist.txt
OLD_FILES+=usr/lib/clang/14.0.3/share/cfi_ignorelist.txt
OLD_FILES+=usr/lib/clang/14.0.3/share/msan_ignorelist.txt
OLD_DIRS+=usr/lib/clang/14.0.3/share
OLD_DIRS+=usr/lib/clang/14.0.3
OLD_DIRS+=usr/lib/clang
OLD_FILES+=usr/share/doc/llvm/clang/LICENSE.TXT