/* MIPS-specific support for 32-bit ELF
- Copyright (C) 1993-2018 Free Software Foundation, Inc.
+ Copyright (C) 1993-2020 Free Software Foundation, Inc.
Most of the information added by Ian Lance Taylor, Cygnus Support,
<ian@cygnus.com>.
return (sym->flags & BSF_SECTION_SYM) == 0;
else
return ((sym->flags & (BSF_GLOBAL | BSF_WEAK | BSF_GNU_UNIQUE)) != 0
- || bfd_is_und_section (bfd_get_section (sym))
- || bfd_is_com_section (bfd_get_section (sym)));
+ || bfd_is_und_section (bfd_asymbol_section (sym))
+ || bfd_is_com_section (bfd_asymbol_section (sym)));
}
\f
/* Set the right machine number for a MIPS ELF file. */
}
}
}
+
+/* Remove the magic _gp_disp symbol from the symbol tables. */
+
+static bfd_boolean
+elf32_mips_fixup_symbol (struct bfd_link_info *info,
+ struct elf_link_hash_entry *h)
+{
+ if (strcmp (h->root.root.string, "_gp_disp") == 0)
+ _bfd_elf_link_hash_hide_symbol (info, h, TRUE);
+ return TRUE;
+}
\f
/* Depending on the target vector we generate some version of Irix
executables or "normal" MIPS ELF ABI executables. */
#define elf_backend_gc_mark_hook _bfd_mips_elf_gc_mark_hook
#define elf_backend_copy_indirect_symbol \
_bfd_mips_elf_copy_indirect_symbol
+#define elf_backend_hide_symbol _bfd_mips_elf_hide_symbol
+#define elf_backend_fixup_symbol elf32_mips_fixup_symbol
#define elf_backend_grok_prstatus elf32_mips_grok_prstatus
#define elf_backend_grok_psinfo elf32_mips_grok_psinfo
#define elf_backend_ecoff_debug_swap &mips_elf32_ecoff_debug_swap
#include "elf32-target.h"
/* Implement elf_backend_final_write_processing for VxWorks. */
-static void
-mips_vxworks_final_write_processing (bfd *abfd, bfd_boolean linker)
+static bfd_boolean
+mips_vxworks_final_write_processing (bfd *abfd)
{
- _bfd_mips_elf_final_write_processing (abfd, linker);
- elf_vxworks_final_write_processing (abfd, linker);
+ _bfd_mips_final_write_processing (abfd);
+ return elf_vxworks_final_write_processing (abfd);
}
#undef TARGET_LITTLE_SYM