[PATCH 1/1] efi_loader: make .data section of *_efi.so files RW

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Thu Jan 5 13:19:59 CET 2023


On 1/5/23 10:59, Heinrich Schuchardt wrote:
> On 1/5/23 10:12, Ilias Apalodimas wrote:
>> Hi Heinrich
>>
>> On Wed, Jan 04, 2023 at 11:43:08PM +0100, Heinrich Schuchardt wrote:
>>> When building with binutils 2.39 warnings
>>>
>>>      *_efi.so has a LOAD segment with RWX permissions
>>>
>>> occur.
>>>
>>> Use SHF_WRITE | SHF_ALLOC as section flags for the .data section.
>>>
>>> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
>>> ---
>>>   arch/arm/lib/elf_aarch64_efi.lds | 8 +++++++-
>>>   1 file changed, 7 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/arch/arm/lib/elf_aarch64_efi.lds 
>>> b/arch/arm/lib/elf_aarch64_efi.lds
>>> index ffc6f6e604..3e3da47d6a 100644
>>> --- a/arch/arm/lib/elf_aarch64_efi.lds
>>> +++ b/arch/arm/lib/elf_aarch64_efi.lds
>>> @@ -7,6 +7,12 @@
>>>   OUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", 
>>> "elf64-littleaarch64")
>>>   OUTPUT_ARCH(aarch64)
>>> +
>>> +PHDRS
>>> +{
>>> +    data PT_LOAD FLAGS(3); /* SHF_WRITE | SHF_ALLOC */
>>> +}
>>> +
>>>   ENTRY(_start)
>>>   SECTIONS
>>>   {
>>> @@ -49,7 +55,7 @@ SECTIONS
>>>           . = ALIGN(512);
>>>           _bss_end = .;
>>>           _edata = .;
>>> -    }
>>> +    } :data
>>
>> Is this only to signal the end of the .data section?  If so let's get rid
>> of it since no other section has that
> 
> :data is the reference to PHDRS entry data.
> 
> Best regards
> 
> Heinrich
> 
>>
>>>       _data_size = _edata - _data;
>>>       .rela.dyn : { *(.rela.dyn) }
>>>       .rela.plt : { *(.rela.plt) }
>>> -- 
>>> 2.37.2
>>>
>>
>> other than that
>> Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
>>
> 

As Benjamin Herrenschmidt pointed out aligning sections on 64KiB 
boundaries would be an alternative way of silencing the linker's RWX 
warnings. But I would not want helloworld.efi to be 128 KiB large.

Best regards

Heinrich


More information about the U-Boot mailing list