1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-06-05 02:20:30 +00:00

optee-os: fix buildpaths QA failure on corstone1000

Patches applied upstream:

https://github.com/OP-TEE/optee_os/pull/6974

Fixes:

https://gitlab.com/jonmason00/meta-arm/-/jobs/7472950159

ERROR: mc:firmware:optee-os-4.2.0-r0 do_package_qa: QA Issue: File /lib/firmware/tee.elf in package optee-os contains reference to TMPDIR [buildpaths]

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
Mikko Rapeli
2024-08-02 15:25:08 +03:00
committed by Jon Mason
parent b1db172d51
commit 1e7cac70cc
4 changed files with 161 additions and 0 deletions
@@ -0,0 +1,43 @@
From 978cc08a393b7d5d0043bf7f4d33f0e33b2b18d8 Mon Sep 17 00:00:00 2001
From: Mikko Rapeli <mikko.rapeli@linaro.org>
Date: Thu, 1 Aug 2024 13:58:36 +0000
Subject: [PATCH 1/3] compile.mk: use CFLAGS from environment
Users can set CFLAGS just like AFLAGS, CC,
LD etc and expect them to be used. It's ok to amend
to them but overwriting should not be done.
Build environment like yocto expect that these
variables are used to call the compiler etc tools.
Linux distro build environments usually set
these variables.
Helps to remove build time paths from generated binaries
since mappings to remove them can be set by the distro
build system in CFLAGS automatically for each SW component
in the build.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
---
mk/compile.mk | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Upstream-Status: Backport
diff --git a/mk/compile.mk b/mk/compile.mk
index b3d807ba4..0de7ea259 100644
--- a/mk/compile.mk
+++ b/mk/compile.mk
@@ -80,7 +80,8 @@ comp-compiler-$2 := $$(CC$(sm))
comp-flags-$2 = $$(filter-out $$(CFLAGS_REMOVE) $$(cflags-remove) \
$$(cflags-remove-$$(comp-sm-$2)) \
$$(cflags-remove-$2), \
- $$(CFLAGS$$(arch-bits-$$(comp-sm-$2))) $$(CFLAGS_WARNS) \
+ $$(CFLAGS$$(arch-bits-$$(comp-sm-$2))) $$(CFLAGS) \
+ $$(CFLAGS_WARNS) \
$$(comp-cflags$$(comp-sm-$2)) $$(cflags$$(comp-sm-$2)) \
$$(cflags-lib$$(comp-lib-$2)) $$(cflags-$2))
ifeq ($C,1)
--
2.34.1
@@ -0,0 +1,45 @@
From f9207376ed58836bf748cc4cea0fcbf46624a709 Mon Sep 17 00:00:00 2001
From: Mikko Rapeli <mikko.rapeli@linaro.org>
Date: Thu, 1 Aug 2024 14:03:11 +0000
Subject: [PATCH 2/3] link.mk: use CFLAGS with version.o
Should be used by all compilations.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
---
core/arch/arm/kernel/link.mk | 2 +-
core/arch/riscv/kernel/link.mk | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Upstream-Status: Backport
diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk
index 49e9f4fa1..377a82b65 100644
--- a/core/arch/arm/kernel/link.mk
+++ b/core/arch/arm/kernel/link.mk
@@ -151,7 +151,7 @@ define update-buildcount
endef
# filter-out to workaround objdump warning
-version-o-cflags = $(filter-out -g3,$(core-platform-cflags) \
+version-o-cflags = $(filter-out -g3,$(CFLAGS) $(core-platform-cflags) \
$(platform-cflags) $(cflagscore))
# SOURCE_DATE_EPOCH defined for reproducible builds
ifneq ($(SOURCE_DATE_EPOCH),)
diff --git a/core/arch/riscv/kernel/link.mk b/core/arch/riscv/kernel/link.mk
index 3d1000d15..1fff0a379 100644
--- a/core/arch/riscv/kernel/link.mk
+++ b/core/arch/riscv/kernel/link.mk
@@ -62,7 +62,7 @@ define update-buildcount
endef
# filter-out to workaround objdump warning
-version-o-cflags = $(filter-out -g3,$(core-platform-cflags) \
+version-o-cflags = $(filter-out -g3,$(CFLAGS) $(core-platform-cflags) \
$(platform-cflags) $(cflagscore))
# SOURCE_DATE_EPOCH defined for reproducible builds
ifneq ($(SOURCE_DATE_EPOCH),)
--
2.34.1
@@ -0,0 +1,70 @@
From 8f100f355e645376729086edbace8f01cf7aa3b4 Mon Sep 17 00:00:00 2001
From: Mikko Rapeli <mikko.rapeli@linaro.org>
Date: Thu, 1 Aug 2024 14:04:55 +0000
Subject: [PATCH 3/3] link.mk: generate version.o in link-out-dir
When source code is piped to compiler, then the
current working directory is left into debug
data. If the working directory is not the output
directory, then mappings which strip absolute output
directory paths don't work.
Removes absolute build time paths from version.o
debug info.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
---
core/arch/arm/kernel/link.mk | 5 +++--
core/arch/riscv/kernel/link.mk | 5 +++--
2 files changed, 6 insertions(+), 4 deletions(-)
Upstream-Status: Backport
diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk
index 377a82b65..d1d527224 100644
--- a/core/arch/arm/kernel/link.mk
+++ b/core/arch/arm/kernel/link.mk
@@ -163,14 +163,15 @@ CORE_CC_VERSION = `$(CCcore) -v 2>&1 | grep "version " | sed 's/ *$$//'`
define gen-version-o
$(call update-buildcount,$(link-out-dir)/.buildcount)
@$(cmd-echo-silent) ' GEN $(link-out-dir)/version.o'
- $(q)echo -e "const char core_v_str[] =" \
+ $(q)cd $(link-out-dir) && \
+ echo -e "const char core_v_str[] =" \
"\"$(TEE_IMPL_VERSION) \"" \
"\"($(CORE_CC_VERSION)) \"" \
"\"#$(BUILD_COUNT_STR) \"" \
"\"$(DATE_STR) \"" \
"\"$(CFG_KERN_LINKER_ARCH)\";\n" \
| $(CCcore) $(version-o-cflags) \
- -xc - -c -o $(link-out-dir)/version.o
+ -xc - -c -o version.o
endef
$(link-out-dir)/version.o:
$(call gen-version-o)
diff --git a/core/arch/riscv/kernel/link.mk b/core/arch/riscv/kernel/link.mk
index 1fff0a379..6511586e2 100644
--- a/core/arch/riscv/kernel/link.mk
+++ b/core/arch/riscv/kernel/link.mk
@@ -74,14 +74,15 @@ CORE_CC_VERSION = `$(CCcore) -v 2>&1 | grep "version " | sed 's/ *$$//'`
define gen-version-o
$(call update-buildcount,$(link-out-dir)/.buildcount)
@$(cmd-echo-silent) ' GEN $(link-out-dir)/version.o'
- $(q)echo -e "const char core_v_str[] =" \
+ $(q)cd $(link-out-dir) && \
+ echo -e "const char core_v_str[] =" \
"\"$(TEE_IMPL_VERSION) \"" \
"\"($(CORE_CC_VERSION)) \"" \
"\"#$(BUILD_COUNT_STR) \"" \
"\"$(DATE_STR) \"" \
"\"$(CFG_KERN_LINKER_ARCH)\";\n" \
| $(CCcore) $(version-o-cflags) \
- -xc - -c -o $(link-out-dir)/version.o
+ -xc - -c -o version.o
endef
$(link-out-dir)/version.o:
--
2.34.1
@@ -9,4 +9,7 @@ SRC_URI += " \
file://0003-optee-enable-clang-support.patch \
file://0001-checkconf.mk-do-not-use-full-path-to-generate-guard-.patch \
file://0001-mk-compile.mk-remove-absolute-build-time-paths.patch \
file://0001-compile.mk-use-CFLAGS-from-environment.patch \
file://0002-link.mk-use-CFLAGS-with-version.o.patch \
file://0003-link.mk-generate-version.o-in-link-out-dir.patch \
"