mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-05-31 12:50:02 +00:00
arm/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>
This commit is contained in:
@@ -0,0 +1,38 @@
|
|||||||
|
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>
|
||||||
|
|
||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index 3941f8698..13bbac348 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -418,7 +418,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)
|
||||||
|
@@ -435,7 +435,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
|
||||||
@@ -5,7 +5,8 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
|
|||||||
|
|
||||||
inherit deploy
|
inherit deploy
|
||||||
|
|
||||||
SRC_URI = "git://git.trustedfirmware.org/TF-A/trusted-firmware-a.git;protocol=https;name=tfa;branch=master"
|
SRC_URI = "git://git.trustedfirmware.org/TF-A/trusted-firmware-a.git;protocol=https;name=tfa;branch=master \
|
||||||
|
file://rwx-segments.patch"
|
||||||
|
|
||||||
UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$"
|
UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user