[PATCH v2] ld/ELF: explicitly place .note.gnu.property

Jan Beulich jbeulich@suse.com
Tue Aug 19 08:33:25 GMT 2025


x86 gas may produce .note.gnu.property by default. Hence the default
linker script would better also deal with that section, rather than
causing diagnostics when using --orphan-handling=. Replace all mis-
spellings that have accumulated.

To avoid needlessly relaxing expectations for two tests when run for
PPC 64-bit ELF targets, suppress the linker generating EH frame data
there.
---
Furthermore, the comment ahead of this block of directives has gone
stale with, afaict, the placement of .note.gnu.build-id near the
program headers: Orphan note sections are placed adjacent to that one if
--build-id= is in use. This pretty certainly wasn't intended, so may
also want/need fixing.
---
v2: Drop mis-spelled section ref. Correct mis-spelling in ld-aarch64/ as
    well.

--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -734,7 +734,7 @@ cat <<EOF
      data, but this is not guaranteed to always be the case.  */
   .note.build-id :      { *(.note.build-id) } ${RELOCATING+${REGION}}
   .note.GNU-stack :     { *(.note.GNU-stack) } ${RELOCATING+${REGION}}
-  .note.gnu-property :  { *(.note.gnu-property) } ${RELOCATING+${REGION}}
+  .note.gnu.property :  { *(.note.gnu.property) } ${RELOCATING+${REGION}}
   .note.ABI-tag :       { *(.note.ABI-tag) } ${RELOCATING+${REGION}}
   .note.package :       { *(.note.package) } ${RELOCATING+${REGION}}
   .note.dlopen :        { *(.note.dlopen) } ${RELOCATING+${REGION}}
--- a/ld/testsuite/ld-aarch64/protections/bti-far.ld
+++ b/ld/testsuite/ld-aarch64/protections/bti-far.ld
@@ -19,7 +19,7 @@ SECTIONS
   . = 0x12340000;
   .far               : { *(.far) }
   /* Start of the Read Only Data region.  */
-  .note.gnu-property : { *(.note.gnu-property) }
+  .note.gnu.property : { *(.note.gnu.property) }
 
   /* Start of the Read Write Data region.  */
   . = ALIGN (CONSTANT (MAXPAGESIZE));
--- a/ld/testsuite/ld-aarch64/protections/bti-plt.ld
+++ b/ld/testsuite/ld-aarch64/protections/bti-plt.ld
@@ -17,7 +17,7 @@ SECTIONS
   . = 0x20000;
   .text              : { *(.text) }
   /* Start of the Read Only Data region.  */
-  .note.gnu-property : { *(.note.gnu-property) }
+  .note.gnu.property : { *(.note.gnu.property) }
 
   /* Start of the Read Write Data region.  */
   . = ALIGN (CONSTANT (MAXPAGESIZE));
--- a/ld/testsuite/ld-elf/elf.exp
+++ b/ld/testsuite/ld-elf/elf.exp
@@ -86,6 +86,9 @@ run_ld_link_tests [list \
 
 if [is_elf64 tmpdir/symbol3w.a] {
     set ASFLAGS "$ASFLAGS --defsym ALIGN=3"
+    if { [istarget powerpc*-*-linux*] } {
+	set LDFLAGS "$LDFLAGS --no-ld-generated-unwind-info"
+    }
     set pr23900_1_exp "pr23900-1-64.rd"
     set pr25490_2_exp "pr25490-2-64.rd"
     set pr25490_3_exp "pr25490-3-64.rd"


More information about the Binutils mailing list