Only use ASAN when using the in-tree compiler

When building FreeBSD 11 on a FreeBSD 12 system with
CROSS_TOOLCHAIN=llvm10 we end up trying to link against the packaged
version of the sanitizer library.  This resulted in a requirement for
getentropy(3) which is not present in FreeBSD 11.

Reviewed by:	emaste
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D26903
This commit is contained in:
Brooks Davis 2020-10-23 22:27:45 +00:00
parent 9729b14985
commit 3e7449a37b

View File

@ -6,7 +6,9 @@ NO_WERROR=
WARNS?= 2
CFLAGS.h_raw+= -fstack-protector-all -Wstack-protector
.if ${COMPILER_TYPE} == "clang"
.if ${COMPILER_TYPE} == "clang" && ${CC} == "cc"
# Only use -fsanitize=bounds when using the in-tree compiler. Otherwise
# we may link to a sanitizer library targeted at a newer kernel/libc.
CFLAGS.h_raw+= -fsanitize=bounds
.elif ${COMPILER_TYPE} == "gcc"
CFLAGS.h_raw+= --param ssp-buffer-size=1