X-Git-Url: http://drtracing.org/?a=blobdiff_plain;ds=sidebyside;f=bfd%2Felfxx-mips.h;h=edbbd9f20bed2c172eff218dc3d77829e9629fd2;hb=7743482350c9c97484a429070db7d994a643a9eb;hp=8cb7e3b842433544bbf47aa3a04f765eb2a0af8a;hpb=df58fc944dbc6d5efd8d3826241b64b6af22f447;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/elfxx-mips.h b/bfd/elfxx-mips.h index 8cb7e3b842..edbbd9f20b 100644 --- a/bfd/elfxx-mips.h +++ b/bfd/elfxx-mips.h @@ -1,6 +1,5 @@ /* MIPS ELF specific backend routines. - Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 - Free Software Foundation, Inc. + Copyright (C) 2002-2016 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -23,6 +22,8 @@ #include "elf/internal.h" #include "elf/mips.h" +extern bfd_boolean _bfd_mips_elf_mkobject + (bfd *); extern bfd_boolean _bfd_mips_elf_new_section_hook (bfd *, asection *); extern void _bfd_mips_elf_symbol_processing @@ -66,6 +67,8 @@ extern bfd_boolean _bfd_mips_vxworks_finish_dynamic_symbol Elf_Internal_Sym *); extern bfd_boolean _bfd_mips_elf_finish_dynamic_sections (bfd *, struct bfd_link_info *); +extern bfd_boolean _bfd_mips_elf_sort_relocs_p + (asection *); extern void _bfd_mips_elf_final_write_processing (bfd *, bfd_boolean); extern int _bfd_mips_elf_additional_program_headers @@ -85,8 +88,8 @@ extern bfd_boolean _bfd_mips_elf_ignore_discarded_relocs extern bfd_boolean _bfd_mips_elf_is_target_special_symbol (bfd *abfd, asymbol *sym); extern bfd_boolean _bfd_mips_elf_find_nearest_line - (bfd *, asection *, asymbol **, bfd_vma, const char **, - const char **, unsigned int *); + (bfd *, asymbol **, asection *, bfd_vma, + const char **, const char **, unsigned int *, unsigned int *); extern bfd_boolean _bfd_mips_elf_find_inliner_info (bfd *, const char **, const char **, unsigned int *); extern bfd_boolean _bfd_mips_elf_set_section_contents @@ -107,6 +110,8 @@ extern bfd_boolean _bfd_mips_elf_merge_private_bfd_data (bfd *, bfd *); extern bfd_boolean _bfd_mips_elf_set_private_flags (bfd *, flagword); +extern const char * _bfd_mips_fp_abi_string + (int); extern bfd_boolean _bfd_mips_elf_print_private_bfd_data (bfd *, void *); extern bfd_boolean _bfd_mips_elf_discard_info @@ -145,11 +150,17 @@ extern bfd_boolean _bfd_mips_elf_ignore_undef_symbol (struct elf_link_hash_entry *); extern void _bfd_mips_elf_use_plts_and_copy_relocs (struct bfd_link_info *); +extern void _bfd_mips_elf_insn32 + (struct bfd_link_info *, bfd_boolean); extern bfd_boolean _bfd_mips_elf_init_stubs (struct bfd_link_info *, asection *(*) (const char *, asection *, asection *)); extern bfd_vma _bfd_mips_elf_plt_sym_val (bfd_vma, const asection *, const arelent *rel); +extern long _bfd_mips_elf_get_synthetic_symtab + (bfd *, long, asymbol **, long, asymbol **, asymbol **); +extern bfd_boolean _bfd_mips_elf_gc_mark_extra_sections + (struct bfd_link_info *, elf_gc_mark_hook_fn); extern void _bfd_mips_post_process_headers (bfd *abfd, struct bfd_link_info *link_info); @@ -157,6 +168,9 @@ extern const struct bfd_elf_special_section _bfd_mips_elf_special_sections []; extern bfd_boolean _bfd_mips_elf_common_definition (Elf_Internal_Sym *); +extern int _bfd_mips_elf_compact_eh_encoding (struct bfd_link_info *); +extern int _bfd_mips_elf_cant_unwind_opcode (struct bfd_link_info *); + static inline bfd_boolean gprel16_reloc_p (unsigned int r_type) { @@ -180,3 +194,5 @@ literal_reloc_p (int r_type) #define elf_backend_merge_symbol_attribute _bfd_mips_elf_merge_symbol_attribute #define elf_backend_ignore_undef_symbol _bfd_mips_elf_ignore_undef_symbol #define elf_backend_post_process_headers _bfd_mips_post_process_headers +#define elf_backend_compact_eh_encoding _bfd_mips_elf_compact_eh_encoding +#define elf_backend_cant_unwind_opcode _bfd_mips_elf_cant_unwind_opcode