mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-06-04 14:10:01 +00:00
optee-os: Fix compile with GCC 10
Adds a patch to fix compiles with GCC 10 due to the way that libgcc detects LSE support using __getauxval(). V2: Incorporate patch changes suggested by upstream Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
+41
@@ -0,0 +1,41 @@
|
||||
From f94d9558d9eae48e92ce8d651539b6cf69eb4394 Mon Sep 17 00:00:00 2001
|
||||
From: Joshua Watt <JPEWhacker@gmail.com>
|
||||
Date: Mon, 18 May 2020 20:00:00 -0500
|
||||
Subject: [PATCH] arm64: Disable outline-atomics when compiling
|
||||
|
||||
Disables the automatic detection of LSE (Large System Extension)
|
||||
instructions when compiling AArch64 code. GCC 10 implements this
|
||||
detection in libgcc using __getauxval(), which optee doesn't implement.
|
||||
This requires that the proper -mcpu is passed to GCC so that the code
|
||||
can be correctly compiled to use either LSE or load-store-exclusive.
|
||||
|
||||
Fixes linker errors like the following when compiling with GCC 10:
|
||||
|
||||
aarch64-linux-ld.bfd: libgcc.a(lse-init.o):
|
||||
in function `init_have_lse_atomics':
|
||||
lse-init.c:44: undefined reference to `__getauxval'
|
||||
core/arch/arm/kernel/link.mk:38:
|
||||
recipe for target 'build/core/all_objs.o' failed
|
||||
|
||||
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
|
||||
Upstream-Status: Submitted [https://github.com/OP-TEE/optee_os/pull/3874]
|
||||
---
|
||||
core/arch/arm/arm.mk | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/core/arch/arm/arm.mk b/core/arch/arm/arm.mk
|
||||
index a18eda3b..07069c66 100644
|
||||
--- a/core/arch/arm/arm.mk
|
||||
+++ b/core/arch/arm/arm.mk
|
||||
@@ -115,7 +115,7 @@ arm32-platform-aflags-no-hard-float ?=
|
||||
|
||||
arm64-platform-cflags-no-hard-float ?= -mgeneral-regs-only
|
||||
arm64-platform-cflags-hard-float ?=
|
||||
-arm64-platform-cflags-generic ?= -mstrict-align
|
||||
+arm64-platform-cflags-generic ?= -mstrict-align $(call cc-option,-mno-outline-atomics,)
|
||||
|
||||
ifeq ($(DEBUG),1)
|
||||
# For backwards compatibility
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -16,6 +16,7 @@ SRCREV = "023e33656e2c9557ce50ad63a98b2e2c9b51c118"
|
||||
SRC_URI = " \
|
||||
git://github.com/OP-TEE/optee_os.git \
|
||||
file://0001-allow-setting-sysroot-for-libgcc-lookup.patch \
|
||||
file://0001-arm64-Disable-outline-atomics-when-compiling.patch \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
Reference in New Issue
Block a user