From c7c33b213a8a7f3203015809def9ae25fa77d8d1 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sun, 7 Apr 2024 02:07:38 +0200 Subject: [PATCH] Fix arm64 build after llvm 18.1.3 upgrade Apparently clang 18 has become more strict about using floating point registers in inline assembly when -mgeneral-regs-only is used. This causes sys/arm64/arm64/vfp.c to fail to compile, with "error: instruction requires: fp-armv8", and "error: expected readable system register". To fix it, similar to other files compiled for arm64, disable -mgeneral-regs-only for this particular file. PR: 276104 MFC after: 1 month (cherry picked from commit f4d93b67611f6f8b19db7bac6b0973b2ef0cfcb6) --- sys/conf/files.arm64 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index 218571d0e23..b142999ec65 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -82,7 +82,8 @@ arm64/arm64/uma_machdep.c standard arm64/arm64/undefined.c standard arm64/arm64/unwind.c optional ddb | kdtrace_hooks | stack \ compile-with "${NORMAL_C:N-fsanitize*}" -arm64/arm64/vfp.c standard +arm64/arm64/vfp.c standard \ + compile-with "${NORMAL_C:N-mgeneral-regs-only}" arm64/arm64/vm_machdep.c standard arm64/coresight/coresight.c standard