git: f4d93b67611f - main - Fix arm64 build after llvm 18.1.3 upgrade
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 07 Apr 2024 00:08:41 UTC
The branch main has been updated by dim:
URL: https://cgit.FreeBSD.org/src/commit/?id=f4d93b67611f6f8b19db7bac6b0973b2ef0cfcb6
commit f4d93b67611f6f8b19db7bac6b0973b2ef0cfcb6
Author: Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2024-04-07 00:07:38 +0000
Commit: Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-04-07 00:07:38 +0000
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
---
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 293a0ae1c0f9..0dd097eb3e0d 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*:N-fno-sanitize*}"
-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