
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=ba951afb99912da01a... https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4...
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 joel@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),)