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


Reply via email to