git: 361da40536d7 - main - arm64: Disable outling atomics

From: Andrew Turner <andrew_at_FreeBSD.org>
Date: Wed, 05 Jun 2024 09:29:11 UTC
The branch main has been updated by andrew:

URL: https://cgit.FreeBSD.org/src/commit/?id=361da40536d7f6fc6c06d54b261c299d170ccf2f

commit 361da40536d7f6fc6c06d54b261c299d170ccf2f
Author:     Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2024-06-04 12:45:00 +0000
Commit:     Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2024-06-05 09:23:40 +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
---
 sys/conf/kern.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk
index d51aa1f1dfa9..106f09d80ac1 100644
--- a/sys/conf/kern.mk
+++ b/sys/conf/kern.mk
@@ -143,6 +143,8 @@ CFLAGS += -mgeneral-regs-only
 CFLAGS += -ffixed-x18
 # Build with BTI+PAC
 CFLAGS += -mbranch-protection=standard
+# TODO: support outline atomics
+CFLAGS += -mno-outline-atomics
 INLINE_LIMIT?=	8000
 .endif