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.

Reply via email to