Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Nov 2024 09:52:06 -0500
From:      John Baldwin <jhb@FreeBSD.org>
To:        mmel@FreeBSD.org, src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   Re: git: b882d21558f3 - main - arm: link all .rodata variants into one output section
Message-ID:  <a0d4098e-247b-47a7-802e-fa04398a2842@FreeBSD.org>
In-Reply-To: <2ba6363f-3ff9-451d-8843-6bb6abe6a3ac@FreeBSD.org>
References:  <202411171136.4AHBaK2D056199@gitrepo.freebsd.org> <0e6393a7-0624-4a24-8537-60917728ae8a@FreeBSD.org> <2ba6363f-3ff9-451d-8843-6bb6abe6a3ac@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a0d4098e-247b-47a7-802e-fa04398a2842>