git: 41c730459831 - stable/13 - arm64: Disable outling atomics
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 15 Jul 2024 12:38:31 UTC
The branch stable/13 has been updated by andrew:
URL: https://cgit.FreeBSD.org/src/commit/?id=41c730459831e31e0233097bab8ae68580a68f3e
commit 41c730459831e31e0233097bab8ae68580a68f3e
Author: Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2024-06-04 12:45:00 +0000
Commit: Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2024-07-15 12:34:54 +0000
arm64: Disable outling atomics
We don't have the symbols for this. The virtio randon number driver
uses a C11 atomic operation. With inline atomics this is translated to
an Armv8.0 atomic operation, with outling atomics this becomes a
function call to a handler. As we don't have the needed function the
kernel fails to link.
Fix by disabling outline atomics for now.
Reviewed by: brooks, imp
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D45301
(cherry picked from commit 361da40536d7f6fc6c06d54b261c299d170ccf2f)
---
sys/conf/kern.mk | 2 ++
1 file changed, 2 insertions(+)
diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk
index b4ae8b17e90e..7a2cc4bfa7ff 100644
--- a/sys/conf/kern.mk
+++ b/sys/conf/kern.mk
@@ -152,6 +152,8 @@ INLINE_LIMIT?= 8000
CFLAGS += -mgeneral-regs-only
# Reserve x18 for pcpu data
CFLAGS += -ffixed-x18
+# TODO: support outline atomics
+CFLAGS += -mno-outline-atomics
INLINE_LIMIT?= 8000
.endif