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 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