From 924cf780a23a6c01638ee9865dcd63eb21c72b4a Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sun, 7 Apr 2024 19:56:03 +0200 Subject: [PATCH] Fix GENERIC-KASAN kernel build for amd64 Work around https://github.com/llvm/llvm-project/issues/87923, which leads to an assertion failure compiling several kernel source files with asan enabled. PR: 276104 MFC after: 1 month (cherry picked from commit b811dac2115a6ada606c03d7d823a95d11c5f3c9) --- sys/conf/kern.pre.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/conf/kern.pre.mk b/sys/conf/kern.pre.mk index 6bf647f5c3e..567c68e5887 100644 --- a/sys/conf/kern.pre.mk +++ b/sys/conf/kern.pre.mk @@ -111,6 +111,11 @@ SAN_CFLAGS+= -DSAN_NEEDS_INTERCEPTORS -DSAN_INTERCEPTOR_PREFIX=kasan \ # upstreamed similar to: https://reviews.llvm.org/D98285 # SAN_CFLAGS+= -mllvm -asan-mapping-offset=0xdfff208000000000 +.elif ${MACHINE_CPUARCH} == "amd64" && \ + ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 180000 +# Work around https://github.com/llvm/llvm-project/issues/87923, which leads to +# an assertion failure compiling dtrace.c with asan enabled. +SAN_CFLAGS+= -mllvm -asan-use-stack-safety=0 .endif .endif