We don't care for permission of ELF segments, but GNU ld (BFD) does and now with binutils 2.39+, it reports: ld: warning: defaultenv/defaultenv-2-menu.bbenv.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker Instead of touching all assembly objects and scripts creating them to add the section, just set -z noexecstack at link-time. This is already the LLVM linker (lld) default. Reported-by: Christian Melki <christian.melki@xxxxxxxxxx> Signed-off-by: Ahmad Fatoum <ahmad@xxxxxx> --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 26a0999a2e20..e57b8a4a1364 100644 --- a/Makefile +++ b/Makefile @@ -450,7 +450,7 @@ KBUILD_CFLAGS_KERNEL := KBUILD_AFLAGS_MODULE := -DMODULE KBUILD_CFLAGS_MODULE := -DMODULE -LDFLAGS_barebox := -Map barebox.map +LDFLAGS_barebox := -Map barebox.map -z noexecstack # Avoid 'Not enough room for program headers' error on binutils 2.28 onwards. LDFLAGS_barebox += $(call ld-option, --no-dynamic-linker) -- 2.37.2