Re: git: b882d21558f3 - main - arm: link all .rodata variants into one output section
Date: Wed, 20 Nov 2024 14:52:06 UTC
On 11/19/24 08:02, Michal Meloun wrote:
>
>
> On 19.11.2024 16:15, John Baldwin wrote:
>> On 11/17/24 03:36, Michal Meloun wrote:
>>> The branch main has been updated by mmel:
>>>
>>> URL: https://cgit.FreeBSD.org/src/commit/?
>>> id=b882d21558f37e6a565694ac9b8f2a519e5b86fa
>>>
>>> commit b882d21558f37e6a565694ac9b8f2a519e5b86fa
>>> Author: Michal Meloun <mmel@FreeBSD.org>
>>> AuthorDate: 2024-11-17 11:28:47 +0000
>>> Commit: Michal Meloun <mmel@FreeBSD.org>
>>> CommitDate: 2024-11-17 11:35:55 +0000
>>>
>>> arm: link all .rodata variants into one output section
>>> MFC after: 1 week
>>> ---
>>> sys/conf/ldscript.arm | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/sys/conf/ldscript.arm b/sys/conf/ldscript.arm
>>> index d9edcfac9f78..7cf904ce39ff 100644
>>> --- a/sys/conf/ldscript.arm
>>> +++ b/sys/conf/ldscript.arm
>>> @@ -17,7 +17,7 @@ SECTIONS
>>> _etext = .;
>>> PROVIDE (etext = .);
>>> .fini : { *(.fini) } =0x9090
>>> - .rodata : { *(.rodata) *(.gnu.linkonce.r*) }
>>> + .rodata : { *(.rodata*) *(.gnu.linkonce.r*) }
>>> .rodata1 : { *(.rodata1) }
>>
>> Is this line now spurious or do linker scripts prefer more exact matches?
>>
>>> .interp : { *(.interp) }
>>> .hash : { *(.hash) }
>>
> Right hit. I want write { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r*) }
>
> Warner already tried to tell me the same thing, but I didn't get it :(
> Btw arm64 has the same problem.
>
> This gives me another question. Who generates the .rodata1 section? This
> section appeared in gnu ld three decades ago, with no real description.
> Do we still need it?
I have no idea if we still need .rodata1 (or why it exists), I was just
reading the diff of the linker script.
--
John Baldwin