diff options
Diffstat (limited to 'ld/emultempl/elf32.em')
-rw-r--r-- | ld/emultempl/elf32.em | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em index 47fa549..152fb93 100644 --- a/ld/emultempl/elf32.em +++ b/ld/emultempl/elf32.em @@ -106,6 +106,7 @@ gld${EMULATION_NAME}_before_parse (void) `if test -n "$CALL_NOP_BYTE" ; then echo link_info.call_nop_byte = $CALL_NOP_BYTE; fi`; link_info.check_relocs_after_open_input = `if test "x${CHECK_RELOCS_AFTER_OPEN_INPUT}" = xyes ; then echo TRUE ; else echo FALSE ; fi`; link_info.relro = DEFAULT_LD_Z_RELRO; + link_info.sharable_sections = `if test "$SHARABLE_SECTIONS" = "yes" ; then echo TRUE ; else echo FALSE ; fi`; } EOF @@ -1854,6 +1855,12 @@ gld${EMULATION_NAME}_place_orphan (asection *s, flagword flags; asection *nexts; + /* Orphaned sharable sections won't have correct page + requirements. */ + if (elf_section_flags (s) & SHF_GNU_SHARABLE) + einfo ("%F%P: unable to place orphaned sharable section %A (%B)\n", + s, s->owner); + if (!bfd_link_relocatable (&link_info) && link_info.combreloc && (s->flags & SEC_ALLOC)) |