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.