|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 7/7] RISC-V: place .sdata / .srodata / .riscv.attributes
On 27.08.2026 18:07, Oleksii Kurochko wrote:
> On 8/27/26 5:56 PM, Jan Beulich wrote:
>> On 27.08.2026 17:40, Oleksii Kurochko wrote:
>>> On 8/26/26 2:04 PM, Jan Beulich wrote:
>>>> --- a/xen/arch/riscv/xen.lds.S
>>>> +++ b/xen/arch/riscv/xen.lds.S
>>>> @@ -44,6 +44,8 @@ SECTIONS
>>>>
>>>> BUGFRAMES
>>>>
>>>> + *(.srodata)
>>>> + *(.srodata.*)
>>>> *(.rodata)
>>>> *(.rodata.*)
>>>> VPCI_ARRAY
>>>> @@ -92,6 +94,7 @@ SECTIONS
>>>> SCHEDULER_ARRAY
>>>> HYPFS_PARAM
>>>>
>>>> + *(.sdata .sdata.*)
>>>> *(.data .data.*)
>>>> CONSTRUCTORS
>>>> } :text
>>>> @@ -162,6 +165,8 @@ SECTIONS
>>>> /* Section for the device tree blob (if any). */
>>>> .dtb : { *(.dtb) } :text
>>>>
>>>> + .riscv.attributes : { *(.riscv.attributes) } :text
>>>> +
>>>
>>> Nit: .riscv.attributes is SHT_RISCV_ATTRIBUTES, i.e. non-alloc.
>>> :text on it is misleading, and without an explicit address it gets
>>> sh_addr from .(location counter) after .dtb. Could we use matching the
>>> idiom used for every other non-alloc section in xen.lds.h:
>>> .riscv.attributes 0 : { *(.riscv.attributes) }
>>> No functional difference either way (objcopy -O binary drops it, and I
>>> verified a non-alloc output section doesn't advance dot, so nothing
>>> downstream shifts), so purely consistency.
>>
>> Well, I compare attributes rather with notes, which we make part of a
>> segment (on x86 at least). I can drop the :text if it's that what's
>> needed to get this in, but I'm not fully convinced. But my knowledge
>> on the purpose and use of attributes also is still somewhat limited.
>
> As I mentioned from functional point of view I don't think that it will
> be an issue so generally you could keep :text here.
>
> That why I wrote "Nit:".
>
> Reviewed-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
Thanks. I decided to drop :text, after all. The linker actively ignores
it, producing a PT_RISCV_ATTRIBUTES segment which the linker script
doesn't even ask for. That likely is a linker quirk, yet at the same
time the linker script likely means to actually spell out an attributes
segment (to which this section then should be assigned).
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |