diff options
Diffstat (limited to 'bfd/elflink.c')
-rw-r--r-- | bfd/elflink.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/bfd/elflink.c b/bfd/elflink.c index 2489700..1b33981 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -10806,7 +10806,9 @@ elf_link_input_bfd (struct elf_final_link_info *flinfo, bfd *input_bfd) || bed->elf_osabi == ELFOSABI_GNU || bed->elf_osabi == ELFOSABI_FREEBSD) elf_tdata (output_bfd)->has_gnu_osabi - |= elf_tdata (input_bfd)->has_gnu_osabi; + |= (elf_tdata (input_bfd)->has_gnu_osabi + & (bfd_link_relocatable (flinfo->info) + ? -1 : ~elf_gnu_osabi_retain)); /* Read the local symbols. */ isymbuf = (Elf_Internal_Sym *) symtab_hdr->contents; |