https://sourceware.org/bugzilla/show_bug.cgi?id=32219
--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> ---
This patch removes .interp and uses .rodata for note sections instead:
diff --git a/ld/ldelf.c b/ld/ldelf.c
index 09691609fc0..b09ba054ed5 100644
--- a/ld/ldelf.c
+++ b/ld/ldelf.c
@@ -2121,9 +2121,6 @@ ldelf_place_orphan (asection *s, const char *secname, int
constraint)
{ 0,
SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_DATA,
0, 0, 0, 0 },
- { ".interp",
- SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_DATA,
- 0, 0, 0, 0 },
{ ".sdata",
SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_DATA | SEC_SMALL_DATA,
0, 0, 0, 0 },
@@ -2139,7 +2136,6 @@ ldelf_place_orphan (asection *s, const char *secname, int
constraint)
orphan_data,
orphan_bss,
orphan_rel,
- orphan_interp,
orphan_sdata,
orphan_nonalloc
};
@@ -2328,7 +2324,7 @@ ldelf_place_orphan (asection *s, const char *secname, int
constraint)
&& (elfinput
? sh_type == SHT_NOTE
: startswith (secname, ".note")))
- place = &hold[orphan_interp];
+ place = &hold[orphan_rodata];
else if ((flags & (SEC_LOAD | SEC_HAS_CONTENTS | SEC_THREAD_LOCAL)) == 0)
place = &hold[orphan_bss];
else if ((flags & SEC_SMALL_DATA) != 0)
But -z separate-code still doesn't work for many targets.
--
You are receiving this mail because:
You are on the CC list for the bug.