From nobody Tue Oct 15 17:25:08 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XSgw45cnfz5YkJM; Tue, 15 Oct 2024 17:25:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XSgw44lTrz4Tpm; Tue, 15 Oct 2024 17:25:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1729013108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mbb+wFd71pDmQDslR4LGds3OoNrED/tf6oU+3bgTY48=; b=gqJsx6N38cYVab0SGyIm4/bC0CS50bE9ot4YD1bLxft50kBUTLKhzr87KjMLTr00ANp6du 02M3KNR2Mf7/BBFo0sa1N0KeS7s2XxtjuvpGoo1wcrK3diFVTsadPuza3IavhS4tXm/GFl eGt0MNgONJTiEjpk9jxfXs11w2R9dV9Fe1hucPyUFkMQ+JyIf169gH7w8+Y6GMuS2sY0z4 G+rOlpUU9BR4MsBSw+npIHWNrppaqgN9FHV7bN6Q0lIMK1PB0u4w5Urd+wIFVPsHN3Zngt rcgttqW6j/cbnB0RhAc2sppyMzGqq5gLXJMDq3PiIoG1eUuiyOIhaKuYJyyTWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1729013108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mbb+wFd71pDmQDslR4LGds3OoNrED/tf6oU+3bgTY48=; b=ozqc7Y8zefWkgKtnlyx9Ddpw/RtJ5w/ptu2LEdLqyusYvKrbpWZY/4e0lGganqPbPT+GSM iMEJ/oMK1JqYTlbQktqvmIL9N37ER7ZDIR+b9WzB7dULn/ztrLrRLrS+lo3xM7fwnbUNjR Cl/BdevBWc79K3oSvbhtW/fbHkS3wqY6Q1jZzo7tBwSBgEQ5uPCtC+scsfCDlDGg8EHl+H h/s3VUXnNQmQqTiKp3Ukn8QmLEjH0GMAGM4dTbaa+OsJgcY1HAlpgH9wOj2/FMSkahmDPy 2611DspVXcjoTV8qgdHR4S4wBrFZKaGDr+NJuDMYW2ZVfhAOZ0rsf7GRwW25xA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1729013108; a=rsa-sha256; cv=none; b=j9nTChie7WWDu2lcePZU7r2Jk+Hd7IlMJZLkoDB1ploxvM6gG/Hyg1wD8IlIblLBcXNu6T 2NhmTzTGm84roGBLvNrN2QMZfGUFtCvbqBgRal8wb5DCf46wdU77rsWetP309bu55QR57P 5WaxAeu7FbdfRpsdUpFS1T6v9AeoRWSQf4P5YLXma82HSzo3ot6HdPkvHNEK53uDqyBT6L DzruZP93fhR8KjQXyzPYLtKrGv03Cc7lZR+BNZuVQLJz7gmxAiI/eAoI2V2BabkLK7XbTB MIgksbOjoBr/c97WYqIuNNJZ/rVmd4aM0sa6xFvLm6feXbmyMlxWrvMrrRFH/A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XSgw44LSDzX8C; Tue, 15 Oct 2024 17:25:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49FHP8tw027743; Tue, 15 Oct 2024 17:25:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49FHP8qs027740; Tue, 15 Oct 2024 17:25:08 GMT (envelope-from git) Date: Tue, 15 Oct 2024 17:25:08 GMT Message-Id: <202410151725.49FHP8qs027740@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: e1d2967ba630 - main - sys/conf: Support building kasan with gcc on arm64 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e1d2967ba6309bba5a3d73ad637f43d0e33f71ec Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=e1d2967ba6309bba5a3d73ad637f43d0e33f71ec commit e1d2967ba6309bba5a3d73ad637f43d0e33f71ec Author: Andrew Turner AuthorDate: 2024-09-27 15:23:57 +0000 Commit: Andrew Turner CommitDate: 2024-10-15 17:24:41 +0000 sys/conf: Support building kasan with gcc on arm64 - Remove -mllvm flags that don't exist in gcc - Set the shadow offset with -fasan-shadow-offset - Remove this when kasan is disabled as it's an error to use this when not building for kasan under gcc This allows the arm64 GENERIC-KASAN kernel to build with gcc13. Reviewed by: brooks Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D45300 --- sys/conf/kern.pre.mk | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/conf/kern.pre.mk b/sys/conf/kern.pre.mk index 50a81a29d18d..d0a66ceceae2 100644 --- a/sys/conf/kern.pre.mk +++ b/sys/conf/kern.pre.mk @@ -95,13 +95,15 @@ COMPAT_FREEBSD32_ENABLED!= grep COMPAT_FREEBSD32 opt_global.h || true ; echo KASAN_ENABLED!= grep KASAN opt_global.h || true ; echo .if !empty(KASAN_ENABLED) SAN_CFLAGS+= -DSAN_NEEDS_INTERCEPTORS -DSAN_INTERCEPTOR_PREFIX=kasan \ - -fsanitize=kernel-address \ - -mllvm -asan-stack=true \ + -fsanitize=kernel-address +.if ${COMPILER_TYPE} == "clang" +SAN_CFLAGS+= -mllvm -asan-stack=true \ -mllvm -asan-instrument-dynamic-allocas=true \ -mllvm -asan-globals=true \ -mllvm -asan-use-after-scope=true \ -mllvm -asan-instrumentation-with-call-threshold=0 \ -mllvm -asan-instrument-byval=false +.endif .if ${MACHINE_CPUARCH} == "aarch64" # KASAN/ARM64 TODO: -asan-mapping-offset is calculated from: @@ -111,7 +113,11 @@ SAN_CFLAGS+= -DSAN_NEEDS_INTERCEPTORS -DSAN_INTERCEPTOR_PREFIX=kasan \ # KASAN_MIN_ADDRESS, and this offset value should eventually be # upstreamed similar to: https://reviews.llvm.org/D98285 # +.if ${COMPILER_TYPE} == "clang" SAN_CFLAGS+= -mllvm -asan-mapping-offset=0xdfff208000000000 +.else +SAN_CFLAGS+= -fasan-shadow-offset=0xdfff208000000000 +.endif .elif ${MACHINE_CPUARCH} == "amd64" && \ ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 180000 # Work around https://github.com/llvm/llvm-project/issues/87923, which leads to