git: c6bbaf794d11 - stable/12 - Build the arm64 loader with -ffixed-x18

From: Kyle Evans <kevans_at_FreeBSD.org>
Date: Fri, 08 Oct 2021 01:16:39 UTC
The branch stable/12 has been updated by kevans:

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

commit c6bbaf794d11bc2d80b00eda20a0ce761ac9d656
Author:     Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2020-04-24 10:03:11 +0000
Commit:     Kyle Evans <kevans@FreeBSD.org>
CommitDate: 2021-10-08 01:15:59 +0000

    Build the arm64 loader with -ffixed-x18
    
    This stops the compiler from using the x18 register. Some UEFI
    implementations assume this will be preserved when calling the Boot
    Services.
    
    (cherry picked from commit a2e2311a40696e39eb24ff4a4d4c0968bba42c8c)
---
 stand/defs.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/stand/defs.mk b/stand/defs.mk
index 9e291639e877..6fba2051301b 100644
--- a/stand/defs.mk
+++ b/stand/defs.mk
@@ -126,7 +126,7 @@ AFLAGS+=	--32
 # currently has no /boot/loader, but may soon.
 CFLAGS+=	-ffreestanding ${CFLAGS_NO_SIMD}
 .if ${MACHINE_CPUARCH} == "aarch64"
-CFLAGS+=	-mgeneral-regs-only -fPIC
+CFLAGS+=	-mgeneral-regs-only -ffixed-x18 -fPIC
 .elif ${MACHINE_CPUARCH} == "riscv"
 CFLAGS+=	-march=rv64imac -mabi=lp64
 .else