[PATCH] Kbuild: link barebox with -z noexecstack

Ahmad Fatoum a.fatoum at pengutronix.de
Wed Nov 2 05:55:04 PDT 2022


On 02.11.22 13:48, Ahmad Fatoum wrote:
> 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 at t2data.com>
> Signed-off-by: Ahmad Fatoum <ahmad at a3f.at>
> ---

Please dismiss. I think we should just add it to KBUILD_LDFLAGS globally.

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

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |




More information about the barebox mailing list