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