X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2Flibbfd.h;h=16c0aee57828812aaa7e61786d20e8923d9c8272;hb=71829b1a3f9b4825150747b138b5cfadf0c5fcba;hp=0beddb6f3957577ede29fbc4b644e86130f8e278;hpb=d0f136821434fa55b5c8099a83dd91672f01e579;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/libbfd.h b/bfd/libbfd.h index 0beddb6f39..16c0aee578 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -6,10 +6,7 @@ /* libbfd.h -- Declarations used by bfd library *implementation*. (This include file is not for users of the library.) - Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, - 2010, 2011 - Free Software Foundation, Inc. + Copyright (C) 1990-2016 Free Software Foundation, Inc. Written by Cygnus Support. @@ -32,6 +29,10 @@ #include "hashtab.h" +#ifdef __cplusplus +extern "C" { +#endif + /* Align an address upward to a boundary, expressed as a number of bytes. E.g. align to an 8-byte boundary with argument of 8. Take care never to wrap around if the address is within boundary-1 of the end of the @@ -69,16 +70,17 @@ struct section_hash_entry /* tdata for an archive. For an input archive, cache needs to be free()'d. For an output archive, symdefs do. */ -struct artdata { +struct artdata +{ file_ptr first_file_filepos; /* Speed up searching the armap */ htab_t cache; - bfd *archive_head; /* Only interesting in output routines */ - carsym *symdefs; /* the symdef entries */ - symindex symdef_count; /* how many there are */ - char *extended_names; /* clever intel extension */ - bfd_size_type extended_names_size; /* Size of extended names */ - /* when more compilers are standard C, this can be a time_t */ + bfd *archive_head; /* Only interesting in output routines. */ + carsym *symdefs; /* The symdef entries. */ + symindex symdef_count; /* How many there are. */ + char *extended_names; /* Clever intel extension. */ + bfd_size_type extended_names_size; /* Size of extended names. */ + /* When more compilers are standard C, this can be a time_t. */ long armap_timestamp; /* Timestamp value written into armap. This is used for BSD archives to check that the timestamp is recent enough @@ -93,12 +95,15 @@ struct artdata { #define bfd_ardata(bfd) ((bfd)->tdata.aout_ar_data) /* Goes in bfd's arelt_data slot */ -struct areltdata { - char * arch_header; /* it's actually a string */ - unsigned int parsed_size; /* octets of filesize not including ar_hdr */ - unsigned int extra_size; /* BSD4.4: extra bytes after the header. */ - char *filename; /* null-terminated */ - file_ptr origin; /* for element of a thin archive */ +struct areltdata +{ + char * arch_header; /* It's actually a string. */ + bfd_size_type parsed_size; /* Octets of filesize not including ar_hdr. */ + bfd_size_type extra_size; /* BSD4.4: extra bytes after the header. */ + char *filename; /* Null-terminated. */ + file_ptr origin; /* For element of a thin archive. */ + void *parent_cache; /* Where and how to find this member. */ + file_ptr key; }; #define arelt_size(bfd) (((struct areltdata *)((bfd)->arelt_data))->parsed_size) @@ -120,6 +125,7 @@ extern void *bfd_zmalloc2 extern void _bfd_default_error_handler (const char *s, ...); extern bfd_error_handler_type _bfd_error_handler; +extern bfd_assert_handler_type _bfd_assert_handler; /* These routines allocate and free things on the BFD's objalloc. */ @@ -162,8 +168,6 @@ extern bfd *_bfd_generic_get_elt_at_index (bfd *, symindex); bfd * _bfd_new_bfd (void); -void _bfd_delete_bfd - (bfd *); bfd_boolean _bfd_free_cached_info (bfd *); @@ -208,6 +212,8 @@ extern void *_bfd_generic_read_ar_hdr (bfd *); extern void _bfd_ar_spacepad (char *, size_t, const char *, long); +extern bfd_boolean _bfd_ar_sizepad + (char *, size_t, bfd_size_type); extern void *_bfd_generic_read_ar_hdr_mag (bfd *, const char *); @@ -232,7 +238,9 @@ int bfd_generic_stat_arch_elt /* Generic routines to use for BFD_JUMP_TABLE_GENERIC. Use BFD_JUMP_TABLE_GENERIC (_bfd_generic). */ -#define _bfd_generic_close_and_cleanup bfd_true +#define _bfd_generic_close_and_cleanup _bfd_archive_close_and_cleanup +extern bfd_boolean _bfd_archive_close_and_cleanup + (bfd *); #define _bfd_generic_bfd_free_cached_info bfd_true extern bfd_boolean _bfd_generic_new_section_hook (bfd *, asection *); @@ -393,6 +401,8 @@ extern bfd_boolean _bfd_vms_lib_ia64_mkarchive (bfd *abfd); ((void (*) (bfd *, void *, asymbol *, bfd_print_symbol_type)) bfd_void) #define _bfd_nosymbols_get_symbol_info \ ((void (*) (bfd *, asymbol *, symbol_info *)) bfd_void) +#define _bfd_nosymbols_get_symbol_version_string \ + ((const char *(*) (bfd *, asymbol *, bfd_boolean *)) bfd_nullvoidptr) #define _bfd_nosymbols_bfd_is_local_label_name \ ((bfd_boolean (*) (bfd *, const char *)) bfd_false) #define _bfd_nosymbols_bfd_is_target_special_symbol \ @@ -400,8 +410,13 @@ extern bfd_boolean _bfd_vms_lib_ia64_mkarchive (bfd *abfd); #define _bfd_nosymbols_get_lineno \ ((alent *(*) (bfd *, asymbol *)) bfd_nullvoidptr) #define _bfd_nosymbols_find_nearest_line \ - ((bfd_boolean (*) (bfd *, asection *, asymbol **, bfd_vma, const char **, \ - const char **, unsigned int *)) \ + ((bfd_boolean (*) (bfd *, asymbol **, asection *, bfd_vma, \ + const char **, const char **, unsigned int *, \ + unsigned int *)) \ + bfd_false) +#define _bfd_nosymbols_find_line \ + ((bfd_boolean (*) (bfd *, asymbol **, asymbol *, \ + const char **, unsigned int *)) \ bfd_false) #define _bfd_nosymbols_find_inliner_info \ ((bfd_boolean (*) (bfd *, const char **, const char **, unsigned int *)) \ @@ -459,7 +474,7 @@ extern bfd_boolean _bfd_generic_set_section_contents ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \ bfd_false) #define _bfd_nolink_bfd_lookup_section_flags \ - ((void (*) (struct bfd_link_info *, struct flag_info *)) \ + ((bfd_boolean (*) (struct bfd_link_info *, struct flag_info *, asection *)) \ bfd_0) #define _bfd_nolink_bfd_merge_sections \ ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \ @@ -472,8 +487,6 @@ extern bfd_boolean _bfd_generic_set_section_contents bfd_false) #define _bfd_nolink_bfd_link_hash_table_create \ ((struct bfd_link_hash_table *(*) (bfd *)) bfd_nullvoidptr) -#define _bfd_nolink_bfd_link_hash_table_free \ - ((void (*) (struct bfd_link_hash_table *)) bfd_void) #define _bfd_nolink_bfd_link_add_symbols \ ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false) #define _bfd_nolink_bfd_link_just_syms \ @@ -523,8 +536,8 @@ extern bfd_boolean _bfd_stab_section_find_nearest_line /* Find the nearest line using DWARF 1 debugging information. */ extern bfd_boolean _bfd_dwarf1_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 *); struct dwarf_debug_section { @@ -539,21 +552,23 @@ extern const struct dwarf_debug_section dwarf_debug_sections[]; /* Find the nearest line using DWARF 2 debugging information. */ extern bfd_boolean _bfd_dwarf2_find_nearest_line - (bfd *, const struct dwarf_debug_section *, asection *, asymbol **, bfd_vma, - const char **, const char **, unsigned int *, unsigned int, void **); + (bfd *, asymbol **, asymbol *, asection *, bfd_vma, + const char **, const char **, unsigned int *, unsigned int *, + const struct dwarf_debug_section *, unsigned int, void **); -/* Find the line using DWARF 2 debugging information. */ -extern bfd_boolean _bfd_dwarf2_find_line - (bfd *, asymbol **, asymbol *, const char **, - unsigned int *, unsigned int, void **); - -bfd_boolean _bfd_generic_find_line - (bfd *, asymbol **, asymbol *, const char **, unsigned int *); +/* Find the bias between DWARF addresses and real addresses. */ +extern bfd_signed_vma _bfd_dwarf2_find_symbol_bias + (asymbol **, void **); /* Find inliner info after calling bfd_find_nearest_line. */ extern bfd_boolean _bfd_dwarf2_find_inliner_info (bfd *, const char **, const char **, unsigned int *, void **); +/* Read DWARF 2 debugging information. */ +extern bfd_boolean _bfd_dwarf2_slurp_debug_info + (bfd *, bfd *, const struct dwarf_debug_section *, asymbol **, void **, + bfd_boolean); + /* Clean up the data used to handle DWARF 2 debugging information. */ extern void _bfd_dwarf2_cleanup_debug_info (bfd *, void **); @@ -581,7 +596,7 @@ extern struct bfd_link_hash_table *_bfd_generic_link_hash_table_create /* Generic link hash table destruction routine. */ extern void _bfd_generic_link_hash_table_free - (struct bfd_link_hash_table *); + (bfd *); /* Generic add symbol routine. */ extern bfd_boolean _bfd_generic_link_add_symbols @@ -596,7 +611,9 @@ extern bfd_boolean _bfd_generic_link_add_symbols_collect /* Generic archive add symbol routine. */ extern bfd_boolean _bfd_generic_link_add_archive_symbols (bfd *, struct bfd_link_info *, - bfd_boolean (*) (bfd *, struct bfd_link_info *, bfd_boolean *)); + bfd_boolean (*) (bfd *, struct bfd_link_info *, + struct bfd_link_hash_entry *, const char *, + bfd_boolean *)); /* Forward declaration to avoid prototype errors. */ typedef struct bfd_link_hash_entry _bfd_link_hash_entry; @@ -696,6 +713,10 @@ extern bfd_boolean _bfd_write_merged_section extern bfd_vma _bfd_merged_section_offset (bfd *, asection **, void *, bfd_vma); +/* Tidy up when done. */ + +extern void _bfd_merge_sections_free (void *); + /* Create a string table. */ extern struct bfd_strtab_hash *_bfd_stringtab_init (void); @@ -831,6 +852,8 @@ extern void bfd_section_already_linked_table_traverse extern bfd_vma read_unsigned_leb128 (bfd *, bfd_byte *, unsigned int *); extern bfd_signed_vma read_signed_leb128 (bfd *, bfd_byte *, unsigned int *); +extern bfd_vma safe_read_leb128 (bfd *, bfd_byte *, unsigned int *, + bfd_boolean, const bfd_byte * const); /* Extracted from init.c. */ /* Extracted from libbfd.c. */ bfd_boolean bfd_write_bigendian_4byte_int (bfd *, unsigned int); @@ -924,6 +947,8 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_HI16_PLTOFF", "BFD_RELOC_HI16_S_PLTOFF", "BFD_RELOC_8_PLTOFF", + "BFD_RELOC_SIZE32", + "BFD_RELOC_SIZE64", "BFD_RELOC_68K_GLOB_DAT", "BFD_RELOC_68K_JMP_SLOT", "BFD_RELOC_68K_RELATIVE", @@ -1006,6 +1031,10 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_SPARC_M44", "BFD_RELOC_SPARC_L44", "BFD_RELOC_SPARC_REGISTER", + "BFD_RELOC_SPARC_H34", + "BFD_RELOC_SPARC_SIZE32", + "BFD_RELOC_SPARC_SIZE64", + "BFD_RELOC_SPARC_WDISP10", "BFD_RELOC_SPARC_REV32", "BFD_RELOC_SPARC_TLS_GD_HI22", "BFD_RELOC_SPARC_TLS_GD_LO10", @@ -1102,6 +1131,10 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_MICROMIPS_7_PCREL_S1", "BFD_RELOC_MICROMIPS_10_PCREL_S1", "BFD_RELOC_MICROMIPS_16_PCREL_S1", + "BFD_RELOC_MIPS_21_PCREL_S2", + "BFD_RELOC_MIPS_26_PCREL_S2", + "BFD_RELOC_MIPS_18_PCREL_S3", + "BFD_RELOC_MIPS_19_PCREL_S2", "BFD_RELOC_MICROMIPS_GPREL16", "BFD_RELOC_MICROMIPS_HI16", "BFD_RELOC_MICROMIPS_HI16_S", @@ -1161,12 +1194,18 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_MICROMIPS_TLS_TPREL_HI16", "BFD_RELOC_MIPS_TLS_TPREL_LO16", "BFD_RELOC_MICROMIPS_TLS_TPREL_LO16", + "BFD_RELOC_MIPS_EH", "BFD_RELOC_MIPS_COPY", "BFD_RELOC_MIPS_JUMP_SLOT", "BFD_RELOC_MOXIE_10_PCREL", + "BFD_RELOC_FT32_10", + "BFD_RELOC_FT32_20", + "BFD_RELOC_FT32_17", + "BFD_RELOC_FT32_18", + "BFD_RELOC_FRV_LABEL16", "BFD_RELOC_FRV_LABEL24", "BFD_RELOC_FRV_LO16", @@ -1217,6 +1256,17 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_MN10300_RELATIVE", "BFD_RELOC_MN10300_SYM_DIFF", "BFD_RELOC_MN10300_ALIGN", + "BFD_RELOC_MN10300_TLS_GD", + "BFD_RELOC_MN10300_TLS_LD", + "BFD_RELOC_MN10300_TLS_LDO", + "BFD_RELOC_MN10300_TLS_GOTIE", + "BFD_RELOC_MN10300_TLS_IE", + "BFD_RELOC_MN10300_TLS_LE", + "BFD_RELOC_MN10300_TLS_DTPMOD", + "BFD_RELOC_MN10300_TLS_DTPOFF", + "BFD_RELOC_MN10300_TLS_TPOFF", + "BFD_RELOC_MN10300_32_PCREL", + "BFD_RELOC_MN10300_16_PCREL", "BFD_RELOC_386_GOT32", "BFD_RELOC_386_PLT32", @@ -1242,6 +1292,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_386_TLS_DESC_CALL", "BFD_RELOC_386_TLS_DESC", "BFD_RELOC_386_IRELATIVE", + "BFD_RELOC_386_GOT32X", "BFD_RELOC_X86_64_GOT32", "BFD_RELOC_X86_64_PLT32", "BFD_RELOC_X86_64_COPY", @@ -1269,6 +1320,10 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_X86_64_TLSDESC_CALL", "BFD_RELOC_X86_64_TLSDESC", "BFD_RELOC_X86_64_IRELATIVE", + "BFD_RELOC_X86_64_PC32_BND", + "BFD_RELOC_X86_64_PLT32_BND", + "BFD_RELOC_X86_64_GOTPCRELX", + "BFD_RELOC_X86_64_REX_GOTPCRELX", "BFD_RELOC_NS32K_IMM_8", "BFD_RELOC_NS32K_IMM_16", "BFD_RELOC_NS32K_IMM_32", @@ -1319,6 +1374,24 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_PPC_EMB_RELST_HA", "BFD_RELOC_PPC_EMB_BIT_FLD", "BFD_RELOC_PPC_EMB_RELSDA", + "BFD_RELOC_PPC_VLE_REL8", + "BFD_RELOC_PPC_VLE_REL15", + "BFD_RELOC_PPC_VLE_REL24", + "BFD_RELOC_PPC_VLE_LO16A", + "BFD_RELOC_PPC_VLE_LO16D", + "BFD_RELOC_PPC_VLE_HI16A", + "BFD_RELOC_PPC_VLE_HI16D", + "BFD_RELOC_PPC_VLE_HA16A", + "BFD_RELOC_PPC_VLE_HA16D", + "BFD_RELOC_PPC_VLE_SDA21", + "BFD_RELOC_PPC_VLE_SDA21_LO", + "BFD_RELOC_PPC_VLE_SDAREL_LO16A", + "BFD_RELOC_PPC_VLE_SDAREL_LO16D", + "BFD_RELOC_PPC_VLE_SDAREL_HI16A", + "BFD_RELOC_PPC_VLE_SDAREL_HI16D", + "BFD_RELOC_PPC_VLE_SDAREL_HA16A", + "BFD_RELOC_PPC_VLE_SDAREL_HA16D", + "BFD_RELOC_PPC_REL16DX_HA", "BFD_RELOC_PPC64_HIGHER", "BFD_RELOC_PPC64_HIGHER_S", "BFD_RELOC_PPC64_HIGHEST", @@ -1342,6 +1415,10 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_PPC64_TOC16_LO_DS", "BFD_RELOC_PPC64_PLTGOT16_DS", "BFD_RELOC_PPC64_PLTGOT16_LO_DS", + "BFD_RELOC_PPC64_ADDR16_HIGH", + "BFD_RELOC_PPC64_ADDR16_HIGHA", + "BFD_RELOC_PPC64_ADDR64_LOCAL", + "BFD_RELOC_PPC64_ENTRY", "BFD_RELOC_PPC_TLS", "BFD_RELOC_PPC_TLSGD", "BFD_RELOC_PPC_TLSLD", @@ -1384,6 +1461,10 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_PPC64_DTPREL16_HIGHERA", "BFD_RELOC_PPC64_DTPREL16_HIGHEST", "BFD_RELOC_PPC64_DTPREL16_HIGHESTA", + "BFD_RELOC_PPC64_TPREL16_HIGH", + "BFD_RELOC_PPC64_TPREL16_HIGHA", + "BFD_RELOC_PPC64_DTPREL16_HIGH", + "BFD_RELOC_PPC64_DTPREL16_HIGHA", "BFD_RELOC_I370_D12", "BFD_RELOC_CTOR", "BFD_RELOC_ARM_PCREL_BRANCH", @@ -1464,6 +1545,10 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_ARM_LDC_SB_G2", "BFD_RELOC_ARM_V4BX", "BFD_RELOC_ARM_IRELATIVE", + "BFD_RELOC_ARM_THUMB_ALU_ABS_G0_NC", + "BFD_RELOC_ARM_THUMB_ALU_ABS_G1_NC", + "BFD_RELOC_ARM_THUMB_ALU_ABS_G2_NC", + "BFD_RELOC_ARM_THUMB_ALU_ABS_G3_NC", "BFD_RELOC_ARM_IMMEDIATE", "BFD_RELOC_ARM_ADRL_IMMEDIATE", "BFD_RELOC_ARM_T32_IMMEDIATE", @@ -1587,8 +1672,73 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_SH_GOTOFFFUNCDESC", "BFD_RELOC_SH_GOTOFFFUNCDESC20", "BFD_RELOC_SH_FUNCDESC", - "BFD_RELOC_ARC_B22_PCREL", - "BFD_RELOC_ARC_B26", + "BFD_RELOC_ARC_NONE", + "BFD_RELOC_ARC_8", + "BFD_RELOC_ARC_16", + "BFD_RELOC_ARC_24", + "BFD_RELOC_ARC_32", + "BFD_RELOC_ARC_N8", + "BFD_RELOC_ARC_N16", + "BFD_RELOC_ARC_N24", + "BFD_RELOC_ARC_N32", + "BFD_RELOC_ARC_SDA", + "BFD_RELOC_ARC_SECTOFF", + "BFD_RELOC_ARC_S21H_PCREL", + "BFD_RELOC_ARC_S21W_PCREL", + "BFD_RELOC_ARC_S25H_PCREL", + "BFD_RELOC_ARC_S25W_PCREL", + "BFD_RELOC_ARC_SDA32", + "BFD_RELOC_ARC_SDA_LDST", + "BFD_RELOC_ARC_SDA_LDST1", + "BFD_RELOC_ARC_SDA_LDST2", + "BFD_RELOC_ARC_SDA16_LD", + "BFD_RELOC_ARC_SDA16_LD1", + "BFD_RELOC_ARC_SDA16_LD2", + "BFD_RELOC_ARC_S13_PCREL", + "BFD_RELOC_ARC_W", + "BFD_RELOC_ARC_32_ME", + "BFD_RELOC_ARC_32_ME_S", + "BFD_RELOC_ARC_N32_ME", + "BFD_RELOC_ARC_SECTOFF_ME", + "BFD_RELOC_ARC_SDA32_ME", + "BFD_RELOC_ARC_W_ME", + "BFD_RELOC_AC_SECTOFF_U8", + "BFD_RELOC_AC_SECTOFF_U8_1", + "BFD_RELOC_AC_SECTOFF_U8_2", + "BFD_RELOC_AC_SECTFOFF_S9", + "BFD_RELOC_AC_SECTFOFF_S9_1", + "BFD_RELOC_AC_SECTFOFF_S9_2", + "BFD_RELOC_ARC_SECTOFF_ME_1", + "BFD_RELOC_ARC_SECTOFF_ME_2", + "BFD_RELOC_ARC_SECTOFF_1", + "BFD_RELOC_ARC_SECTOFF_2", + "BFD_RELOC_ARC_SDA16_ST2", + "BFD_RELOC_ARC_32_PCREL", + "BFD_RELOC_ARC_PC32", + "BFD_RELOC_ARC_GOT32", + "BFD_RELOC_ARC_GOTPC32", + "BFD_RELOC_ARC_PLT32", + "BFD_RELOC_ARC_COPY", + "BFD_RELOC_ARC_GLOB_DAT", + "BFD_RELOC_ARC_JMP_SLOT", + "BFD_RELOC_ARC_RELATIVE", + "BFD_RELOC_ARC_GOTOFF", + "BFD_RELOC_ARC_GOTPC", + "BFD_RELOC_ARC_S21W_PCREL_PLT", + "BFD_RELOC_ARC_S25H_PCREL_PLT", + "BFD_RELOC_ARC_TLS_DTPMOD", + "BFD_RELOC_ARC_TLS_TPOFF", + "BFD_RELOC_ARC_TLS_GD_GOT", + "BFD_RELOC_ARC_TLS_GD_LD", + "BFD_RELOC_ARC_TLS_GD_CALL", + "BFD_RELOC_ARC_TLS_IE_GOT", + "BFD_RELOC_ARC_TLS_DTPOFF", + "BFD_RELOC_ARC_TLS_DTPOFF_S9", + "BFD_RELOC_ARC_TLS_LE_S9", + "BFD_RELOC_ARC_TLS_LE_32", + "BFD_RELOC_ARC_S25W_PCREL_PLT", + "BFD_RELOC_ARC_S21H_PCREL_PLT", + "BFD_RELOC_ARC_NPS_CMEM16", "BFD_RELOC_BFIN_16_IMM", "BFD_RELOC_BFIN_16_HIGH", "BFD_RELOC_BFIN_4_PCREL", @@ -1683,6 +1833,121 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_M32R_GOTPC_HI_ULO", "BFD_RELOC_M32R_GOTPC_HI_SLO", "BFD_RELOC_M32R_GOTPC_LO", + "BFD_RELOC_NDS32_20", + "BFD_RELOC_NDS32_9_PCREL", + "BFD_RELOC_NDS32_WORD_9_PCREL", + "BFD_RELOC_NDS32_15_PCREL", + "BFD_RELOC_NDS32_17_PCREL", + "BFD_RELOC_NDS32_25_PCREL", + "BFD_RELOC_NDS32_HI20", + "BFD_RELOC_NDS32_LO12S3", + "BFD_RELOC_NDS32_LO12S2", + "BFD_RELOC_NDS32_LO12S1", + "BFD_RELOC_NDS32_LO12S0", + "BFD_RELOC_NDS32_LO12S0_ORI", + "BFD_RELOC_NDS32_SDA15S3", + "BFD_RELOC_NDS32_SDA15S2", + "BFD_RELOC_NDS32_SDA15S1", + "BFD_RELOC_NDS32_SDA15S0", + "BFD_RELOC_NDS32_SDA16S3", + "BFD_RELOC_NDS32_SDA17S2", + "BFD_RELOC_NDS32_SDA18S1", + "BFD_RELOC_NDS32_SDA19S0", + "BFD_RELOC_NDS32_GOT20", + "BFD_RELOC_NDS32_9_PLTREL", + "BFD_RELOC_NDS32_25_PLTREL", + "BFD_RELOC_NDS32_COPY", + "BFD_RELOC_NDS32_GLOB_DAT", + "BFD_RELOC_NDS32_JMP_SLOT", + "BFD_RELOC_NDS32_RELATIVE", + "BFD_RELOC_NDS32_GOTOFF", + "BFD_RELOC_NDS32_GOTOFF_HI20", + "BFD_RELOC_NDS32_GOTOFF_LO12", + "BFD_RELOC_NDS32_GOTPC20", + "BFD_RELOC_NDS32_GOT_HI20", + "BFD_RELOC_NDS32_GOT_LO12", + "BFD_RELOC_NDS32_GOTPC_HI20", + "BFD_RELOC_NDS32_GOTPC_LO12", + "BFD_RELOC_NDS32_INSN16", + "BFD_RELOC_NDS32_LABEL", + "BFD_RELOC_NDS32_LONGCALL1", + "BFD_RELOC_NDS32_LONGCALL2", + "BFD_RELOC_NDS32_LONGCALL3", + "BFD_RELOC_NDS32_LONGJUMP1", + "BFD_RELOC_NDS32_LONGJUMP2", + "BFD_RELOC_NDS32_LONGJUMP3", + "BFD_RELOC_NDS32_LOADSTORE", + "BFD_RELOC_NDS32_9_FIXED", + "BFD_RELOC_NDS32_15_FIXED", + "BFD_RELOC_NDS32_17_FIXED", + "BFD_RELOC_NDS32_25_FIXED", + "BFD_RELOC_NDS32_LONGCALL4", + "BFD_RELOC_NDS32_LONGCALL5", + "BFD_RELOC_NDS32_LONGCALL6", + "BFD_RELOC_NDS32_LONGJUMP4", + "BFD_RELOC_NDS32_LONGJUMP5", + "BFD_RELOC_NDS32_LONGJUMP6", + "BFD_RELOC_NDS32_LONGJUMP7", + "BFD_RELOC_NDS32_PLTREL_HI20", + "BFD_RELOC_NDS32_PLTREL_LO12", + "BFD_RELOC_NDS32_PLT_GOTREL_HI20", + "BFD_RELOC_NDS32_PLT_GOTREL_LO12", + "BFD_RELOC_NDS32_SDA12S2_DP", + "BFD_RELOC_NDS32_SDA12S2_SP", + "BFD_RELOC_NDS32_LO12S2_DP", + "BFD_RELOC_NDS32_LO12S2_SP", + "BFD_RELOC_NDS32_DWARF2_OP1", + "BFD_RELOC_NDS32_DWARF2_OP2", + "BFD_RELOC_NDS32_DWARF2_LEB", + "BFD_RELOC_NDS32_UPDATE_TA", + "BFD_RELOC_NDS32_PLT_GOTREL_LO20", + "BFD_RELOC_NDS32_PLT_GOTREL_LO15", + "BFD_RELOC_NDS32_PLT_GOTREL_LO19", + "BFD_RELOC_NDS32_GOT_LO15", + "BFD_RELOC_NDS32_GOT_LO19", + "BFD_RELOC_NDS32_GOTOFF_LO15", + "BFD_RELOC_NDS32_GOTOFF_LO19", + "BFD_RELOC_NDS32_GOT15S2", + "BFD_RELOC_NDS32_GOT17S2", + "BFD_RELOC_NDS32_5", + "BFD_RELOC_NDS32_10_UPCREL", + "BFD_RELOC_NDS32_SDA_FP7U2_RELA", + "BFD_RELOC_NDS32_RELAX_ENTRY", + "BFD_RELOC_NDS32_GOT_SUFF", + "BFD_RELOC_NDS32_GOTOFF_SUFF", + "BFD_RELOC_NDS32_PLT_GOT_SUFF", + "BFD_RELOC_NDS32_MULCALL_SUFF", + "BFD_RELOC_NDS32_PTR", + "BFD_RELOC_NDS32_PTR_COUNT", + "BFD_RELOC_NDS32_PTR_RESOLVED", + "BFD_RELOC_NDS32_PLTBLOCK", + "BFD_RELOC_NDS32_RELAX_REGION_BEGIN", + "BFD_RELOC_NDS32_RELAX_REGION_END", + "BFD_RELOC_NDS32_MINUEND", + "BFD_RELOC_NDS32_SUBTRAHEND", + "BFD_RELOC_NDS32_DIFF8", + "BFD_RELOC_NDS32_DIFF16", + "BFD_RELOC_NDS32_DIFF32", + "BFD_RELOC_NDS32_DIFF_ULEB128", + "BFD_RELOC_NDS32_EMPTY", + "BFD_RELOC_NDS32_25_ABS", + "BFD_RELOC_NDS32_DATA", + "BFD_RELOC_NDS32_TRAN", + "BFD_RELOC_NDS32_17IFC_PCREL", + "BFD_RELOC_NDS32_10IFCU_PCREL", + "BFD_RELOC_NDS32_TPOFF", + "BFD_RELOC_NDS32_TLS_LE_HI20", + "BFD_RELOC_NDS32_TLS_LE_LO12", + "BFD_RELOC_NDS32_TLS_LE_ADD", + "BFD_RELOC_NDS32_TLS_LE_LS", + "BFD_RELOC_NDS32_GOTTPOFF", + "BFD_RELOC_NDS32_TLS_IE_HI20", + "BFD_RELOC_NDS32_TLS_IE_LO12S2", + "BFD_RELOC_NDS32_TLS_TPOFF", + "BFD_RELOC_NDS32_TLS_LE_20", + "BFD_RELOC_NDS32_TLS_LE_15S0", + "BFD_RELOC_NDS32_TLS_LE_15S1", + "BFD_RELOC_NDS32_TLS_LE_15S2", "BFD_RELOC_V850_9_PCREL", "BFD_RELOC_V850_22_PCREL", "BFD_RELOC_V850_SDA_16_16_OFFSET", @@ -1725,8 +1990,6 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_V850_32_GOTOFF", "BFD_RELOC_V850_CODE", "BFD_RELOC_V850_DATA", - "BFD_RELOC_MN10300_32_PCREL", - "BFD_RELOC_MN10300_16_PCREL", "BFD_RELOC_TIC30_LDP", "BFD_RELOC_TIC54X_PARTLS7", "BFD_RELOC_TIC54X_PARTMS9", @@ -1798,6 +2061,44 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_MEP_GNU_VTINHERIT", "BFD_RELOC_MEP_GNU_VTENTRY", + "BFD_RELOC_METAG_HIADDR16", + "BFD_RELOC_METAG_LOADDR16", + "BFD_RELOC_METAG_RELBRANCH", + "BFD_RELOC_METAG_GETSETOFF", + "BFD_RELOC_METAG_HIOG", + "BFD_RELOC_METAG_LOOG", + "BFD_RELOC_METAG_REL8", + "BFD_RELOC_METAG_REL16", + "BFD_RELOC_METAG_HI16_GOTOFF", + "BFD_RELOC_METAG_LO16_GOTOFF", + "BFD_RELOC_METAG_GETSET_GOTOFF", + "BFD_RELOC_METAG_GETSET_GOT", + "BFD_RELOC_METAG_HI16_GOTPC", + "BFD_RELOC_METAG_LO16_GOTPC", + "BFD_RELOC_METAG_HI16_PLT", + "BFD_RELOC_METAG_LO16_PLT", + "BFD_RELOC_METAG_RELBRANCH_PLT", + "BFD_RELOC_METAG_GOTOFF", + "BFD_RELOC_METAG_PLT", + "BFD_RELOC_METAG_COPY", + "BFD_RELOC_METAG_JMP_SLOT", + "BFD_RELOC_METAG_RELATIVE", + "BFD_RELOC_METAG_GLOB_DAT", + "BFD_RELOC_METAG_TLS_GD", + "BFD_RELOC_METAG_TLS_LDM", + "BFD_RELOC_METAG_TLS_LDO_HI16", + "BFD_RELOC_METAG_TLS_LDO_LO16", + "BFD_RELOC_METAG_TLS_LDO", + "BFD_RELOC_METAG_TLS_IE", + "BFD_RELOC_METAG_TLS_IENONPIC", + "BFD_RELOC_METAG_TLS_IENONPIC_HI16", + "BFD_RELOC_METAG_TLS_IENONPIC_LO16", + "BFD_RELOC_METAG_TLS_TPOFF", + "BFD_RELOC_METAG_TLS_DTPMOD", + "BFD_RELOC_METAG_TLS_DTPOFF", + "BFD_RELOC_METAG_TLS_LE", + "BFD_RELOC_METAG_TLS_LE_HI16", + "BFD_RELOC_METAG_TLS_LE_LO16", "BFD_RELOC_MMIX_GETA", "BFD_RELOC_MMIX_GETA_1", "BFD_RELOC_MMIX_GETA_2", @@ -1845,6 +2146,15 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_AVR_LDI", "BFD_RELOC_AVR_6", "BFD_RELOC_AVR_6_ADIW", + "BFD_RELOC_AVR_8_LO", + "BFD_RELOC_AVR_8_HI", + "BFD_RELOC_AVR_8_HLO", + "BFD_RELOC_AVR_DIFF8", + "BFD_RELOC_AVR_DIFF16", + "BFD_RELOC_AVR_DIFF32", + "BFD_RELOC_AVR_LDS_STS_16", + "BFD_RELOC_AVR_PORT6", + "BFD_RELOC_AVR_PORT5", "BFD_RELOC_RL78_NEG8", "BFD_RELOC_RL78_NEG16", "BFD_RELOC_RL78_NEG24", @@ -1877,6 +2187,8 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_RL78_HI16", "BFD_RELOC_RL78_HI8", "BFD_RELOC_RL78_LO16", + "BFD_RELOC_RL78_CODE", + "BFD_RELOC_RL78_SADDR", "BFD_RELOC_RX_NEG8", "BFD_RELOC_RX_NEG16", "BFD_RELOC_RX_NEG24", @@ -1913,8 +2225,12 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_390_RELATIVE", "BFD_RELOC_390_GOTPC", "BFD_RELOC_390_GOT16", + "BFD_RELOC_390_PC12DBL", + "BFD_RELOC_390_PLT12DBL", "BFD_RELOC_390_PC16DBL", "BFD_RELOC_390_PLT16DBL", + "BFD_RELOC_390_PC24DBL", + "BFD_RELOC_390_PLT24DBL", "BFD_RELOC_390_PC32DBL", "BFD_RELOC_390_PLT32DBL", "BFD_RELOC_390_GOTPCDBL", @@ -1954,6 +2270,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_390_GOT20", "BFD_RELOC_390_GOTPLT20", "BFD_RELOC_390_TLS_GOTIE20", + "BFD_RELOC_390_IRELATIVE", "BFD_RELOC_SCORE_GPREL15", "BFD_RELOC_SCORE_DUMMY2", "BFD_RELOC_SCORE_JMP", @@ -2071,6 +2388,24 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_M68HC11_PAGE", "BFD_RELOC_M68HC11_24", "BFD_RELOC_M68HC12_5B", + "BFD_RELOC_XGATE_RL_JUMP", + "BFD_RELOC_XGATE_RL_GROUP", + "BFD_RELOC_XGATE_LO16", + "BFD_RELOC_XGATE_GPAGE", + "BFD_RELOC_XGATE_24", + "BFD_RELOC_XGATE_PCREL_9", + "BFD_RELOC_XGATE_PCREL_10", + "BFD_RELOC_XGATE_IMM8_LO", + "BFD_RELOC_XGATE_IMM8_HI", + "BFD_RELOC_XGATE_IMM3", + "BFD_RELOC_XGATE_IMM4", + "BFD_RELOC_XGATE_IMM5", + "BFD_RELOC_M68HC12_9B", + "BFD_RELOC_M68HC12_16B", + "BFD_RELOC_M68HC12_9_PCREL", + "BFD_RELOC_M68HC12_10_PCREL", + "BFD_RELOC_M68HC12_LO8XG", + "BFD_RELOC_M68HC12_HI8XG", "BFD_RELOC_16C_NUM08", "BFD_RELOC_16C_NUM08_C", "BFD_RELOC_16C_NUM16", @@ -2229,13 +2564,36 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_860_HIGH", "BFD_RELOC_860_HIGOT", "BFD_RELOC_860_HIGOTOFF", - "BFD_RELOC_OPENRISC_ABS_26", - "BFD_RELOC_OPENRISC_REL_26", + "BFD_RELOC_OR1K_REL_26", + "BFD_RELOC_OR1K_GOTPC_HI16", + "BFD_RELOC_OR1K_GOTPC_LO16", + "BFD_RELOC_OR1K_GOT16", + "BFD_RELOC_OR1K_PLT26", + "BFD_RELOC_OR1K_GOTOFF_HI16", + "BFD_RELOC_OR1K_GOTOFF_LO16", + "BFD_RELOC_OR1K_COPY", + "BFD_RELOC_OR1K_GLOB_DAT", + "BFD_RELOC_OR1K_JMP_SLOT", + "BFD_RELOC_OR1K_RELATIVE", + "BFD_RELOC_OR1K_TLS_GD_HI16", + "BFD_RELOC_OR1K_TLS_GD_LO16", + "BFD_RELOC_OR1K_TLS_LDM_HI16", + "BFD_RELOC_OR1K_TLS_LDM_LO16", + "BFD_RELOC_OR1K_TLS_LDO_HI16", + "BFD_RELOC_OR1K_TLS_LDO_LO16", + "BFD_RELOC_OR1K_TLS_IE_HI16", + "BFD_RELOC_OR1K_TLS_IE_LO16", + "BFD_RELOC_OR1K_TLS_LE_HI16", + "BFD_RELOC_OR1K_TLS_LE_LO16", + "BFD_RELOC_OR1K_TLS_TPOFF", + "BFD_RELOC_OR1K_TLS_DTPOFF", + "BFD_RELOC_OR1K_TLS_DTPMOD", "BFD_RELOC_H8_DIR16A8", "BFD_RELOC_H8_DIR16R8", "BFD_RELOC_H8_DIR24A8", "BFD_RELOC_H8_DIR24R8", "BFD_RELOC_H8_DIR32A16", + "BFD_RELOC_H8_DISP32A16", "BFD_RELOC_XSTORMY16_REL_12", "BFD_RELOC_XSTORMY16_12", "BFD_RELOC_XSTORMY16_24", @@ -2262,6 +2620,73 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_MSP430_16_BYTE", "BFD_RELOC_MSP430_2X_PCREL", "BFD_RELOC_MSP430_RL_PCREL", + "BFD_RELOC_MSP430_ABS8", + "BFD_RELOC_MSP430X_PCR20_EXT_SRC", + "BFD_RELOC_MSP430X_PCR20_EXT_DST", + "BFD_RELOC_MSP430X_PCR20_EXT_ODST", + "BFD_RELOC_MSP430X_ABS20_EXT_SRC", + "BFD_RELOC_MSP430X_ABS20_EXT_DST", + "BFD_RELOC_MSP430X_ABS20_EXT_ODST", + "BFD_RELOC_MSP430X_ABS20_ADR_SRC", + "BFD_RELOC_MSP430X_ABS20_ADR_DST", + "BFD_RELOC_MSP430X_PCR16", + "BFD_RELOC_MSP430X_PCR20_CALL", + "BFD_RELOC_MSP430X_ABS16", + "BFD_RELOC_MSP430_ABS_HI16", + "BFD_RELOC_MSP430_PREL31", + "BFD_RELOC_MSP430_SYM_DIFF", + "BFD_RELOC_NIOS2_S16", + "BFD_RELOC_NIOS2_U16", + "BFD_RELOC_NIOS2_CALL26", + "BFD_RELOC_NIOS2_IMM5", + "BFD_RELOC_NIOS2_CACHE_OPX", + "BFD_RELOC_NIOS2_IMM6", + "BFD_RELOC_NIOS2_IMM8", + "BFD_RELOC_NIOS2_HI16", + "BFD_RELOC_NIOS2_LO16", + "BFD_RELOC_NIOS2_HIADJ16", + "BFD_RELOC_NIOS2_GPREL", + "BFD_RELOC_NIOS2_UJMP", + "BFD_RELOC_NIOS2_CJMP", + "BFD_RELOC_NIOS2_CALLR", + "BFD_RELOC_NIOS2_ALIGN", + "BFD_RELOC_NIOS2_GOT16", + "BFD_RELOC_NIOS2_CALL16", + "BFD_RELOC_NIOS2_GOTOFF_LO", + "BFD_RELOC_NIOS2_GOTOFF_HA", + "BFD_RELOC_NIOS2_PCREL_LO", + "BFD_RELOC_NIOS2_PCREL_HA", + "BFD_RELOC_NIOS2_TLS_GD16", + "BFD_RELOC_NIOS2_TLS_LDM16", + "BFD_RELOC_NIOS2_TLS_LDO16", + "BFD_RELOC_NIOS2_TLS_IE16", + "BFD_RELOC_NIOS2_TLS_LE16", + "BFD_RELOC_NIOS2_TLS_DTPMOD", + "BFD_RELOC_NIOS2_TLS_DTPREL", + "BFD_RELOC_NIOS2_TLS_TPREL", + "BFD_RELOC_NIOS2_COPY", + "BFD_RELOC_NIOS2_GLOB_DAT", + "BFD_RELOC_NIOS2_JUMP_SLOT", + "BFD_RELOC_NIOS2_RELATIVE", + "BFD_RELOC_NIOS2_GOTOFF", + "BFD_RELOC_NIOS2_CALL26_NOAT", + "BFD_RELOC_NIOS2_GOT_LO", + "BFD_RELOC_NIOS2_GOT_HA", + "BFD_RELOC_NIOS2_CALL_LO", + "BFD_RELOC_NIOS2_CALL_HA", + "BFD_RELOC_NIOS2_R2_S12", + "BFD_RELOC_NIOS2_R2_I10_1_PCREL", + "BFD_RELOC_NIOS2_R2_T1I7_1_PCREL", + "BFD_RELOC_NIOS2_R2_T1I7_2", + "BFD_RELOC_NIOS2_R2_T2I4", + "BFD_RELOC_NIOS2_R2_T2I4_1", + "BFD_RELOC_NIOS2_R2_T2I4_2", + "BFD_RELOC_NIOS2_R2_X1I7_2", + "BFD_RELOC_NIOS2_R2_X2L5", + "BFD_RELOC_NIOS2_R2_F1I5_2", + "BFD_RELOC_NIOS2_R2_L5I4X1", + "BFD_RELOC_NIOS2_R2_T1X1I6", + "BFD_RELOC_NIOS2_R2_T1X1I6_2", "BFD_RELOC_IQ2000_OFFSET_16", "BFD_RELOC_IQ2000_OFFSET_21", "BFD_RELOC_IQ2000_UHI16", @@ -2329,16 +2754,21 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_LM32_JMP_SLOT", "BFD_RELOC_LM32_RELATIVE", "BFD_RELOC_MACH_O_SECTDIFF", + "BFD_RELOC_MACH_O_LOCAL_SECTDIFF", "BFD_RELOC_MACH_O_PAIR", + "BFD_RELOC_MACH_O_SUBTRACTOR32", + "BFD_RELOC_MACH_O_SUBTRACTOR64", "BFD_RELOC_MACH_O_X86_64_BRANCH32", "BFD_RELOC_MACH_O_X86_64_BRANCH8", "BFD_RELOC_MACH_O_X86_64_GOT", "BFD_RELOC_MACH_O_X86_64_GOT_LOAD", - "BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32", - "BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64", "BFD_RELOC_MACH_O_X86_64_PCREL32_1", "BFD_RELOC_MACH_O_X86_64_PCREL32_2", "BFD_RELOC_MACH_O_X86_64_PCREL32_4", + "BFD_RELOC_MACH_O_ARM64_ADDEND", + "BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGE21", + "BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGEOFF12", + "BFD_RELOC_MACH_O_ARM64_POINTER_TO_GOT", "BFD_RELOC_MICROBLAZE_32_LO", "BFD_RELOC_MICROBLAZE_32_LO_PCREL", "BFD_RELOC_MICROBLAZE_32_ROSDA", @@ -2351,6 +2781,121 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_MICROBLAZE_64_GOTOFF", "BFD_RELOC_MICROBLAZE_32_GOTOFF", "BFD_RELOC_MICROBLAZE_COPY", + "BFD_RELOC_MICROBLAZE_64_TLS", + "BFD_RELOC_MICROBLAZE_64_TLSGD", + "BFD_RELOC_MICROBLAZE_64_TLSLD", + "BFD_RELOC_MICROBLAZE_32_TLSDTPMOD", + "BFD_RELOC_MICROBLAZE_32_TLSDTPREL", + "BFD_RELOC_MICROBLAZE_64_TLSDTPREL", + "BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL", + "BFD_RELOC_MICROBLAZE_64_TLSTPREL", + "BFD_RELOC_AARCH64_RELOC_START", + "BFD_RELOC_AARCH64_NONE", + "BFD_RELOC_AARCH64_64", + "BFD_RELOC_AARCH64_32", + "BFD_RELOC_AARCH64_16", + "BFD_RELOC_AARCH64_64_PCREL", + "BFD_RELOC_AARCH64_32_PCREL", + "BFD_RELOC_AARCH64_16_PCREL", + "BFD_RELOC_AARCH64_MOVW_G0", + "BFD_RELOC_AARCH64_MOVW_G0_NC", + "BFD_RELOC_AARCH64_MOVW_G1", + "BFD_RELOC_AARCH64_MOVW_G1_NC", + "BFD_RELOC_AARCH64_MOVW_G2", + "BFD_RELOC_AARCH64_MOVW_G2_NC", + "BFD_RELOC_AARCH64_MOVW_G3", + "BFD_RELOC_AARCH64_MOVW_G0_S", + "BFD_RELOC_AARCH64_MOVW_G1_S", + "BFD_RELOC_AARCH64_MOVW_G2_S", + "BFD_RELOC_AARCH64_LD_LO19_PCREL", + "BFD_RELOC_AARCH64_ADR_LO21_PCREL", + "BFD_RELOC_AARCH64_ADR_HI21_PCREL", + "BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL", + "BFD_RELOC_AARCH64_ADD_LO12", + "BFD_RELOC_AARCH64_LDST8_LO12", + "BFD_RELOC_AARCH64_TSTBR14", + "BFD_RELOC_AARCH64_BRANCH19", + "BFD_RELOC_AARCH64_JUMP26", + "BFD_RELOC_AARCH64_CALL26", + "BFD_RELOC_AARCH64_LDST16_LO12", + "BFD_RELOC_AARCH64_LDST32_LO12", + "BFD_RELOC_AARCH64_LDST64_LO12", + "BFD_RELOC_AARCH64_LDST128_LO12", + "BFD_RELOC_AARCH64_GOT_LD_PREL19", + "BFD_RELOC_AARCH64_ADR_GOT_PAGE", + "BFD_RELOC_AARCH64_LD64_GOT_LO12_NC", + "BFD_RELOC_AARCH64_LD32_GOT_LO12_NC", + "BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC", + "BFD_RELOC_AARCH64_MOVW_GOTOFF_G1", + "BFD_RELOC_AARCH64_LD64_GOTOFF_LO15", + "BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14", + "BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15", + "BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21", + "BFD_RELOC_AARCH64_TLSGD_ADR_PREL21", + "BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC", + "BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC", + "BFD_RELOC_AARCH64_TLSGD_MOVW_G1", + "BFD_RELOC_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21", + "BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC", + "BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC", + "BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19", + "BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC", + "BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G1", + "BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12", + "BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12", + "BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC", + "BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC", + "BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21", + "BFD_RELOC_AARCH64_TLSLD_ADR_PREL21", + "BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12", + "BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC", + "BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12", + "BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC", + "BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12", + "BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC", + "BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12", + "BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC", + "BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0", + "BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC", + "BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1", + "BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC", + "BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2", + "BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2", + "BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1", + "BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC", + "BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0", + "BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC", + "BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_HI12", + "BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12", + "BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC", + "BFD_RELOC_AARCH64_TLSDESC_LD_PREL19", + "BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21", + "BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21", + "BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC", + "BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC", + "BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC", + "BFD_RELOC_AARCH64_TLSDESC_OFF_G1", + "BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC", + "BFD_RELOC_AARCH64_TLSDESC_LDR", + "BFD_RELOC_AARCH64_TLSDESC_ADD", + "BFD_RELOC_AARCH64_TLSDESC_CALL", + "BFD_RELOC_AARCH64_COPY", + "BFD_RELOC_AARCH64_GLOB_DAT", + "BFD_RELOC_AARCH64_JUMP_SLOT", + "BFD_RELOC_AARCH64_RELATIVE", + "BFD_RELOC_AARCH64_TLS_DTPMOD", + "BFD_RELOC_AARCH64_TLS_DTPREL", + "BFD_RELOC_AARCH64_TLS_TPREL", + "BFD_RELOC_AARCH64_TLSDESC", + "BFD_RELOC_AARCH64_IRELATIVE", + "BFD_RELOC_AARCH64_RELOC_END", + "BFD_RELOC_AARCH64_GAS_INTERNAL_FIXUP", + "BFD_RELOC_AARCH64_LDST_LO12", + "BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12", + "BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12_NC", + "BFD_RELOC_AARCH64_LD_GOT_LO12_NC", + "BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC", + "BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC", "BFD_RELOC_TILEPRO_COPY", "BFD_RELOC_TILEPRO_GLOB_DAT", "BFD_RELOC_TILEPRO_JMP_SLOT", @@ -2397,6 +2942,12 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_TILEPRO_SHAMT_X1", "BFD_RELOC_TILEPRO_SHAMT_Y0", "BFD_RELOC_TILEPRO_SHAMT_Y1", + "BFD_RELOC_TILEPRO_TLS_GD_CALL", + "BFD_RELOC_TILEPRO_IMM8_X0_TLS_GD_ADD", + "BFD_RELOC_TILEPRO_IMM8_X1_TLS_GD_ADD", + "BFD_RELOC_TILEPRO_IMM8_Y0_TLS_GD_ADD", + "BFD_RELOC_TILEPRO_IMM8_Y1_TLS_GD_ADD", + "BFD_RELOC_TILEPRO_TLS_IE_LOAD", "BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD", "BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD", "BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_LO", @@ -2416,6 +2967,14 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_TILEPRO_TLS_DTPMOD32", "BFD_RELOC_TILEPRO_TLS_DTPOFF32", "BFD_RELOC_TILEPRO_TLS_TPOFF32", + "BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE", + "BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE", + "BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_LO", + "BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_LO", + "BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HI", + "BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HI", + "BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HA", + "BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HA", "BFD_RELOC_TILEGX_HW0", "BFD_RELOC_TILEGX_HW1", "BFD_RELOC_TILEGX_HW2", @@ -2473,52 +3032,58 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PCREL", "BFD_RELOC_TILEGX_IMM16_X0_HW0_GOT", "BFD_RELOC_TILEGX_IMM16_X1_HW0_GOT", - "BFD_RELOC_TILEGX_IMM16_X0_HW1_GOT", - "BFD_RELOC_TILEGX_IMM16_X1_HW1_GOT", - "BFD_RELOC_TILEGX_IMM16_X0_HW2_GOT", - "BFD_RELOC_TILEGX_IMM16_X1_HW2_GOT", - "BFD_RELOC_TILEGX_IMM16_X0_HW3_GOT", - "BFD_RELOC_TILEGX_IMM16_X1_HW3_GOT", + "BFD_RELOC_TILEGX_IMM16_X0_HW0_PLT_PCREL", + "BFD_RELOC_TILEGX_IMM16_X1_HW0_PLT_PCREL", + "BFD_RELOC_TILEGX_IMM16_X0_HW1_PLT_PCREL", + "BFD_RELOC_TILEGX_IMM16_X1_HW1_PLT_PCREL", + "BFD_RELOC_TILEGX_IMM16_X0_HW2_PLT_PCREL", + "BFD_RELOC_TILEGX_IMM16_X1_HW2_PLT_PCREL", "BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_GOT", "BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_GOT", "BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_GOT", "BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_GOT", - "BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_GOT", - "BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_GOT", + "BFD_RELOC_TILEGX_IMM16_X0_HW3_PLT_PCREL", + "BFD_RELOC_TILEGX_IMM16_X1_HW3_PLT_PCREL", "BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_GD", "BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_GD", - "BFD_RELOC_TILEGX_IMM16_X0_HW1_TLS_GD", - "BFD_RELOC_TILEGX_IMM16_X1_HW1_TLS_GD", - "BFD_RELOC_TILEGX_IMM16_X0_HW2_TLS_GD", - "BFD_RELOC_TILEGX_IMM16_X1_HW2_TLS_GD", - "BFD_RELOC_TILEGX_IMM16_X0_HW3_TLS_GD", - "BFD_RELOC_TILEGX_IMM16_X1_HW3_TLS_GD", + "BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_LE", + "BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_LE", + "BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_LE", + "BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_LE", + "BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_LE", + "BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_LE", "BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_GD", "BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_GD", "BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_GD", "BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_GD", - "BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_TLS_GD", - "BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_TLS_GD", "BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_IE", "BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_IE", - "BFD_RELOC_TILEGX_IMM16_X0_HW1_TLS_IE", - "BFD_RELOC_TILEGX_IMM16_X1_HW1_TLS_IE", - "BFD_RELOC_TILEGX_IMM16_X0_HW2_TLS_IE", - "BFD_RELOC_TILEGX_IMM16_X1_HW2_TLS_IE", - "BFD_RELOC_TILEGX_IMM16_X0_HW3_TLS_IE", - "BFD_RELOC_TILEGX_IMM16_X1_HW3_TLS_IE", + "BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL", + "BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL", + "BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL", + "BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL", + "BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL", + "BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL", "BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_IE", "BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_IE", "BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_IE", "BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_IE", - "BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_TLS_IE", - "BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_TLS_IE", "BFD_RELOC_TILEGX_TLS_DTPMOD64", "BFD_RELOC_TILEGX_TLS_DTPOFF64", "BFD_RELOC_TILEGX_TLS_TPOFF64", "BFD_RELOC_TILEGX_TLS_DTPMOD32", "BFD_RELOC_TILEGX_TLS_DTPOFF32", "BFD_RELOC_TILEGX_TLS_TPOFF32", + "BFD_RELOC_TILEGX_TLS_GD_CALL", + "BFD_RELOC_TILEGX_IMM8_X0_TLS_GD_ADD", + "BFD_RELOC_TILEGX_IMM8_X1_TLS_GD_ADD", + "BFD_RELOC_TILEGX_IMM8_Y0_TLS_GD_ADD", + "BFD_RELOC_TILEGX_IMM8_Y1_TLS_GD_ADD", + "BFD_RELOC_TILEGX_TLS_IE_LOAD", + "BFD_RELOC_TILEGX_IMM8_X0_TLS_ADD", + "BFD_RELOC_TILEGX_IMM8_X1_TLS_ADD", + "BFD_RELOC_TILEGX_IMM8_Y0_TLS_ADD", + "BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD", "BFD_RELOC_EPIPHANY_SIMM8", "BFD_RELOC_EPIPHANY_SIMM24", "BFD_RELOC_EPIPHANY_HIGH", @@ -2526,6 +3091,13 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_EPIPHANY_SIMM11", "BFD_RELOC_EPIPHANY_IMM11", "BFD_RELOC_EPIPHANY_IMM8", + "BFD_RELOC_VISIUM_HI16", + "BFD_RELOC_VISIUM_LO16", + "BFD_RELOC_VISIUM_IM16", + "BFD_RELOC_VISIUM_REL16", + "BFD_RELOC_VISIUM_HI16_PCREL", + "BFD_RELOC_VISIUM_LO16_PCREL", + "BFD_RELOC_VISIUM_IM16_PCREL", "@@overflow: BFD_RELOC_UNUSED@@", }; #endif @@ -2542,8 +3114,8 @@ bfd_boolean bfd_generic_relax_section bfd_boolean bfd_generic_gc_sections (bfd *, struct bfd_link_info *); -void bfd_generic_lookup_section_flags - (struct bfd_link_info *, struct flag_info *); +bfd_boolean bfd_generic_lookup_section_flags + (struct bfd_link_info *, struct flag_info *, asection *); bfd_boolean bfd_generic_merge_sections (bfd *, struct bfd_link_info *); @@ -2567,4 +3139,11 @@ const bfd_arch_info_type *bfd_default_compatible bfd_boolean bfd_default_scan (const struct bfd_arch_info *info, const char *string); +void *bfd_arch_default_fill (bfd_size_type count, + bfd_boolean is_bigendian, + bfd_boolean code); + /* Extracted from elf.c. */ +#ifdef __cplusplus +} +#endif