mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-04-20 11:42:57 +00:00
trusted-firmware-a: work around RWX permission error on segment
Binutils 2.39 now warns when a segment has RXW permissions[1]: aarch64-none-elf-ld.bfd: warning: bl31.elf has a LOAD segment with RWX permissions However, TF-A passes --fatal-warnings to LD, so this is a build failure. There is a ticket filed upstream[2], so until that is resolved we can disable this warning. [1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 [2] https://developer.trustedfirmware.org/T996 Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com> Adapted from the above patch[3] in meta-arm, but we cannot use that patch as we are on an older SRCREV and the Makefile has changed. [3] https://git.yoctoproject.org/meta-arm/commit/meta-arm/recipes-bsp?id=977c5222d8c2f6f6c7e522e480a6e4cd40ba32d7 Signed-off-by: Ryan Eatmon <reatmon@ti.com>
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
Binutils 2.39 now warns when a segment has RXW permissions[1]:
|
||||
|
||||
aarch64-none-elf-ld.bfd: warning: bl31.elf has a LOAD segment with RWX
|
||||
permissions
|
||||
|
||||
However, TF-A passes --fatal-warnings to LD, so this is a build failure.
|
||||
|
||||
There is a ticket filed upstream[2], so until that is resolved just
|
||||
remove --fatal-warnings.
|
||||
|
||||
[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
|
||||
[2] https://developer.trustedfirmware.org/T996
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
Signed-off-by: Ross Burton <ross.burton@arm.com>
|
||||
|
||||
|
||||
Adapted from the above patch in meta-arm, but we cannot use that patch as
|
||||
we are on an older SRCREV and the Makefile has changed.
|
||||
|
||||
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
|
||||
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 3941f8698..13bbac348 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -421,7 +421,7 @@ TF_LDFLAGS += $(TF_LDFLAGS_$(ARCH))
|
||||
# LD = gcc (used when GCC LTO is enabled)
|
||||
else ifneq ($(findstring gcc,$(notdir $(LD))),)
|
||||
# Pass ld options with Wl or Xlinker switches
|
||||
-TF_LDFLAGS += -Wl,--fatal-warnings -O1
|
||||
+TF_LDFLAGS += -O1
|
||||
TF_LDFLAGS += -Wl,--gc-sections
|
||||
ifeq ($(ENABLE_LTO),1)
|
||||
ifeq (${ARCH},aarch64)
|
||||
@@ -439,7 +439,7 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH)))
|
||||
|
||||
# LD = gcc-ld (ld) or llvm-ld (ld.lld) or other
|
||||
else
|
||||
-TF_LDFLAGS += --fatal-warnings -O1
|
||||
+TF_LDFLAGS += -O1
|
||||
TF_LDFLAGS += --gc-sections
|
||||
# ld.lld doesn't recognize the errata flags,
|
||||
# therefore don't add those in that case
|
||||
@@ -6,6 +6,9 @@ TFA_BUILD_TARGET:k3 = "all"
|
||||
TFA_INSTALL_TARGET:k3 = "bl31"
|
||||
TFA_SPD:k3 = "opteed"
|
||||
|
||||
SRC_URI:append:k3 = " file://rwx-segments-ti.patch"
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
|
||||
EXTRA_OEMAKE:append:k3 = "${@ ' K3_USART=' + d.getVar('TFA_K3_USART') if d.getVar('TFA_K3_USART') else ''}"
|
||||
EXTRA_OEMAKE:append:k3 = "${@ ' K3_PM_SYSTEM_SUSPEND=' + d.getVar('TFA_K3_SYSTEM_SUSPEND') if d.getVar('TFA_K3_SYSTEM_SUSPEND') else ''}"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user