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 <m...@freebsd.org>
AuthorDate: 2024-11-17 11:28:47 +0000
Commit: Michal Meloun <m...@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