diff mbox series

[dunfell] optee-os: restore libgcc-sysroot patch with newer version

Message ID 20240122191902.1561510-1-denis@denix.org
State Accepted
Delegated to: Ryan Eatmon
Headers show
Series [dunfell] optee-os: restore libgcc-sysroot patch with newer version | expand

Commit Message

Denys Dmytriyenko Jan. 22, 2024, 7:19 p.m. UTC
From: Denys Dmytriyenko <denys@konsulko.com>

The patch was dropped with 3.17 update:

https://git.yoctoproject.org/meta-ti/commit/?h=dunfell&id=f8182afdcfe427865707077d353359827f1ff6bf

But the patch is still needed for internal OE-built toolchain to pass
sysroot, otherwise libgcc.a cannot be found:

| aarch64-oe-linux-ld.bfd: cannot find libgcc.a: No such file or directory

The older version from meta-arm/dunfell no longer applies, so copy a newer
version of the patch locally.

Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
---
 ...ow-setting-sysroot-for-libgcc-lookup.patch | 34 +++++++++++++++++++
 recipes-security/optee/optee-os_%.bbappend    |  6 +++-
 2 files changed, 39 insertions(+), 1 deletion(-)
 create mode 100644 recipes-security/optee/optee-os/0006-allow-setting-sysroot-for-libgcc-lookup.patch
diff mbox series

Patch

diff --git a/recipes-security/optee/optee-os/0006-allow-setting-sysroot-for-libgcc-lookup.patch b/recipes-security/optee/optee-os/0006-allow-setting-sysroot-for-libgcc-lookup.patch
new file mode 100644
index 00000000..17005396
--- /dev/null
+++ b/recipes-security/optee/optee-os/0006-allow-setting-sysroot-for-libgcc-lookup.patch
@@ -0,0 +1,34 @@ 
+From 0bab935695ebcf0c533b49896ab18ff33d4a47d1 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Tue, 26 May 2020 14:38:02 -0500
+Subject: [PATCH] allow setting sysroot for libgcc lookup
+
+Explicitly pass the new variable LIBGCC_LOCATE_CFLAGS variable when searching
+for the compiler libraries as there's no easy way to reliably pass --sysroot
+otherwise.
+
+Upstream-Status: Pending [https://github.com/OP-TEE/optee_os/issues/4188]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ mk/gcc.mk | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/mk/gcc.mk b/mk/gcc.mk
+index adc77a24..81bfa78a 100644
+--- a/mk/gcc.mk
++++ b/mk/gcc.mk
+@@ -13,11 +13,11 @@ nostdinc$(sm)	:= -nostdinc -isystem $(shell $(CC$(sm)) \
+ 			-print-file-name=include 2> /dev/null)
+ 
+ # Get location of libgcc from gcc
+-libgcc$(sm)  	:= $(shell $(CC$(sm)) $(CFLAGS$(arch-bits-$(sm))) \
++libgcc$(sm)  	:= $(shell $(CC$(sm)) $(LIBGCC_LOCATE_CFLAGS) $(CFLAGS$(arch-bits-$(sm))) \
+ 			-print-libgcc-file-name 2> /dev/null)
+-libstdc++$(sm)	:= $(shell $(CXX$(sm)) $(CXXFLAGS$(arch-bits-$(sm))) $(comp-cxxflags$(sm)) \
++libstdc++$(sm)	:= $(shell $(CXX$(sm)) $(LIBGCC_LOCATE_CFLAGS) $(CXXFLAGS$(arch-bits-$(sm))) $(comp-cxxflags$(sm)) \
+ 			-print-file-name=libstdc++.a 2> /dev/null)
+-libgcc_eh$(sm)	:= $(shell $(CXX$(sm)) $(CXXFLAGS$(arch-bits-$(sm))) $(comp-cxxflags$(sm)) \
++libgcc_eh$(sm)	:= $(shell $(CXX$(sm)) $(LIBGCC_LOCATE_CFLAGS) $(CXXFLAGS$(arch-bits-$(sm))) $(comp-cxxflags$(sm)) \
+ 			-print-file-name=libgcc_eh.a 2> /dev/null)
+ 
+ # Define these to something to discover accidental use
diff --git a/recipes-security/optee/optee-os_%.bbappend b/recipes-security/optee/optee-os_%.bbappend
index ddfc76f1..ebcf584d 100644
--- a/recipes-security/optee/optee-os_%.bbappend
+++ b/recipes-security/optee/optee-os_%.bbappend
@@ -1,6 +1,10 @@ 
+FILESEXTRAPATHS_prepend_ti-soc := "${THISDIR}/${PN}:"
+
 PV_ti-soc = "3.20.0+git${SRCPV}"
 SRCREV_ti-soc = "8e74d47616a20eaa23ca692f4bbbf917a236ed94"
-SRC_URI_ti-soc = "git://github.com/OP-TEE/optee_os.git;protocol=https"
+SRC_URI_ti-soc = "git://github.com/OP-TEE/optee_os.git;protocol=https \
+file://0006-allow-setting-sysroot-for-libgcc-lookup.patch \
+"
 
 DEPENDS_append_ti-soc = " python3-cryptography-native"