[PATCH master] sandbox: lds: fix "ELF has a LOAD segment with RWX permissions" warning

Ahmad Fatoum a.fatoum at pengutronix.de
Tue Jul 16 04:09:26 PDT 2024


On 15.07.24 08:04, Ahmad Fatoum wrote:
> On 03.07.24 21:02, Ahmad Fatoum wrote:
>> With binutils 2.39+, the barebox build started emitting this warning.
>> On platforms other than sandbox, we disable this warning by passing --no-warn-rwx
>> to ld as we don't care for ELF attributes as they aren't used anyway.
>>
>> On sandbox, however, the ELF attributes matter, so disabling the warning
>> completely felt wrong. Looking more into it now, we can mark the
>> .barebox_rodata section in the linker file snippet we have in sandbox as
>> READONLY and the warning disappears, so let's do that instead.
>>
>> Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
> 
> Please dismiss this patch. The new BAREBOX_CLASSES addition to RO_DATA_SECTION
> makes the section not const anymore, so this would crash on the first class
> addition. I'll send a v2 later.

This is further complicated by REAONLY being new in GCC 11 apparently.
I need to find out which version of GNU ld that is and how we could
check whether READONLY is supported..

> 
>> ---
>>  arch/sandbox/board/barebox.lds.S | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/sandbox/board/barebox.lds.S b/arch/sandbox/board/barebox.lds.S
>> index ab2801f3d207..de8552dba0ac 100644
>> --- a/arch/sandbox/board/barebox.lds.S
>> +++ b/arch/sandbox/board/barebox.lds.S
>> @@ -5,7 +5,7 @@
>>  SECTIONS
>>  {
>>  	. = ALIGN(64);
>> -	.barebox_rodata : {
>> +	.barebox_rodata (READONLY) : {
>>  		RO_DATA_SECTION
>>  	}
>>  }
> 

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