[PATCH] Kbuild: link barebox with -z noexecstack

Ahmad Fatoum a.fatoum at pengutronix.de
Sat Nov 5 05:15:09 PDT 2022


On 02.11.22 13:55, Ahmad Fatoum wrote:
> 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.

I'll be away for a few weeks, so noting here how Linux does it:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ffcf9c5700e49c0aee42dcba9a12ba21338e8136
https://lore.kernel.org/all/20220808192321.3490995-1-ndesaulniers@google.com/

In case someone else wants to get rid of the warning in the meantime.

Cheers,
Ahmad


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