On 8/2/22 10:30, Joel Stanley wrote:
The next version of the linker will complain about rwx segments with
permissions and executable stacks:
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774
These warnings are relevant for ELF binaries loaded by an operating
system linker, but do not make sense in the context of u-boot where the
objects are loaded by other means.
The ELF binary can be loaded by OpenSBI or QEMU. The information about
rwx segments can be relevant for these. Only if a non-ELF form is used
it is irrelevant.
You should instead fix the single file that has a problem:
test/overlay/test-fdt-overlay-stacked.dtb.S
Just add the missing section information or change the build flags for
this single binary.
Best regards
Heinrich
Disable the warnings using the following options:
--no-warn-rwx-segments
warning: u-boot has a LOAD segment with RWX permissions
warning: u-boot-spl has a LOAD segment with RWX permissions
--no-warn-execstack
warning: arch/arm/lib/setjmp.o: missing .note.GNU-stack section implies
executable stack
NOTE: This behaviour is deprecated and will be removed in a future version
of the linker
Signed-off-by: Joel Stanley <j...@jms.id.au>
---
This behaviour can be seen when building with binutils
2.38.90.20220713-2 from Debian testing.
Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index ff25f9297486..32aac7493f8d 100644
--- a/Makefile
+++ b/Makefile
@@ -432,7 +432,8 @@ KBUILD_CFLAGS := -Wall -Wstrict-prototypes \
-fno-builtin -ffreestanding $(CSTD_FLAG)
KBUILD_CFLAGS += -fshort-wchar -fno-strict-aliasing
KBUILD_AFLAGS := -D__ASSEMBLY__
-KBUILD_LDFLAGS :=
+KBUILD_LDFLAGS := $(call ld-option, --no-warn-rwx-segments) \
+ $(call ld-option, --no-warn-execstack)
ifeq ($(cc-name),clang)
ifneq ($(CROSS_COMPILE),)