X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;ds=sidebyside;f=bfd%2Flibbfd.h;h=2e9d70617a54a1c2f27af32b7f9a9829c6514277;hb=e5b95258d9dd1ecc4a53baf56308ce78f19f4904;hp=7d72e3b9d016d89cd00fa8278a22fab1d9569fd4;hpb=25b88f335af1b8c7a4428710ffd9066338b167c0;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/libbfd.h b/bfd/libbfd.h index 7d72e3b9d0..2e9d70617a 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -7,7 +7,8 @@ (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 + 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, + 2010, 2011, 2012 Free Software Foundation, Inc. Written by Cygnus Support. @@ -68,16 +69,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 @@ -92,11 +94,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 */ - 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) @@ -118,13 +124,10 @@ 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. */ -extern void *bfd_alloc - (bfd *, bfd_size_type); -extern void *bfd_zalloc - (bfd *, bfd_size_type); extern void *bfd_alloc2 (bfd *, bfd_size_type, bfd_size_type); extern void *bfd_zalloc2 @@ -140,6 +143,8 @@ bfd_boolean _bfd_add_bfd_to_archive_cache (bfd *, file_ptr, bfd *); bfd_boolean _bfd_generic_mkarchive (bfd *abfd); +char *_bfd_append_relative_path + (bfd *arch, char *elt_name); const bfd_target *bfd_generic_archive_p (bfd *abfd); bfd_boolean bfd_slurp_armap @@ -162,8 +167,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,10 +211,18 @@ 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 *); +extern bfd_boolean _bfd_generic_write_ar_hdr + (bfd *, bfd *); + +extern bfd_boolean _bfd_bsd44_write_ar_hdr + (bfd *, bfd *); + bfd * bfd_generic_openr_next_archived_file (bfd *archive, bfd *last_file); @@ -220,11 +231,15 @@ int bfd_generic_stat_arch_elt #define _bfd_read_ar_hdr(abfd) \ BFD_SEND (abfd, _bfd_read_ar_hdr_fn, (abfd)) +#define _bfd_write_ar_hdr(archive, abfd) \ + BFD_SEND (abfd, _bfd_write_ar_hdr_fn, (archive, abfd)) /* 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 *); @@ -263,6 +278,8 @@ extern int _bfd_nocore_core_file_failing_signal (bfd *); extern bfd_boolean _bfd_nocore_core_file_matches_executable_p (bfd *, bfd *); +extern int _bfd_nocore_core_file_pid + (bfd *); /* Routines to use for BFD_JUMP_TABLE_ARCHIVE when there is no archive file support. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive). */ @@ -278,6 +295,8 @@ extern bfd_boolean _bfd_nocore_core_file_matches_executable_p ((bfd_boolean (*) (bfd *, unsigned int, struct orl *, unsigned int, int)) \ bfd_false) #define _bfd_noarchive_read_ar_hdr bfd_nullvoidptr +#define _bfd_noarchive_write_ar_hdr \ + ((bfd_boolean (*) (bfd *, bfd *)) bfd_false) #define _bfd_noarchive_openr_next_archived_file \ ((bfd *(*) (bfd *, bfd *)) bfd_nullvoidptr) #define _bfd_noarchive_get_elt_at_index \ @@ -296,6 +315,7 @@ extern bfd_boolean _bfd_archive_bsd_construct_extended_name_table #define _bfd_archive_bsd_truncate_arname bfd_bsd_truncate_arname #define _bfd_archive_bsd_write_armap bsd_write_armap #define _bfd_archive_bsd_read_ar_hdr _bfd_generic_read_ar_hdr +#define _bfd_archive_bsd_write_ar_hdr _bfd_generic_write_ar_hdr #define _bfd_archive_bsd_openr_next_archived_file \ bfd_generic_openr_next_archived_file #define _bfd_archive_bsd_get_elt_at_index _bfd_generic_get_elt_at_index @@ -315,6 +335,7 @@ extern bfd_boolean _bfd_archive_coff_construct_extended_name_table #define _bfd_archive_coff_truncate_arname bfd_dont_truncate_arname #define _bfd_archive_coff_write_armap coff_write_armap #define _bfd_archive_coff_read_ar_hdr _bfd_generic_read_ar_hdr +#define _bfd_archive_coff_write_ar_hdr _bfd_generic_write_ar_hdr #define _bfd_archive_coff_openr_next_archived_file \ bfd_generic_openr_next_archived_file #define _bfd_archive_coff_get_elt_at_index _bfd_generic_get_elt_at_index @@ -322,6 +343,52 @@ extern bfd_boolean _bfd_archive_coff_construct_extended_name_table bfd_generic_stat_arch_elt #define _bfd_archive_coff_update_armap_timestamp bfd_true +/* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get BSD4.4 style + archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd44). */ + +#define _bfd_archive_bsd44_slurp_armap bfd_slurp_bsd_armap +#define _bfd_archive_bsd44_slurp_extended_name_table \ + _bfd_slurp_extended_name_table +extern bfd_boolean _bfd_archive_bsd44_construct_extended_name_table + (bfd *, char **, bfd_size_type *, const char **); +#define _bfd_archive_bsd44_truncate_arname bfd_bsd_truncate_arname +#define _bfd_archive_bsd44_write_armap bsd_write_armap +#define _bfd_archive_bsd44_read_ar_hdr _bfd_generic_read_ar_hdr +#define _bfd_archive_bsd44_write_ar_hdr _bfd_bsd44_write_ar_hdr +#define _bfd_archive_bsd44_openr_next_archived_file \ + bfd_generic_openr_next_archived_file +#define _bfd_archive_bsd44_get_elt_at_index _bfd_generic_get_elt_at_index +#define _bfd_archive_bsd44_generic_stat_arch_elt \ + bfd_generic_stat_arch_elt +#define _bfd_archive_bsd44_update_armap_timestamp \ + _bfd_archive_bsd_update_armap_timestamp + +/* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get VMS style + archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_vms_lib). Some of them + are irrelevant and never called, so defined as NULL. */ + +extern bfd_boolean _bfd_vms_lib_write_archive_contents (bfd *arch); +#define _bfd_vms_lib_slurp_armap NULL +#define _bfd_vms_lib_slurp_extended_name_table NULL +#define _bfd_vms_lib_construct_extended_name_table NULL +#define _bfd_vms_lib_truncate_arname NULL +#define _bfd_vms_lib_write_armap NULL +#define _bfd_vms_lib_read_ar_hdr NULL +#define _bfd_vms_lib_write_ar_hdr NULL +extern bfd *_bfd_vms_lib_openr_next_archived_file (bfd *, bfd *); +extern bfd *_bfd_vms_lib_get_elt_at_index (bfd *, symindex); +extern int _bfd_vms_lib_generic_stat_arch_elt (bfd *, struct stat *); +#define _bfd_vms_lib_update_armap_timestamp bfd_true + +/* Extra routines for VMS style archives. */ + +extern symindex _bfd_vms_lib_find_symbol (bfd *, const char *); +extern bfd *_bfd_vms_lib_get_imagelib_file (bfd *); +extern const bfd_target *_bfd_vms_lib_alpha_archive_p (bfd *abfd); +extern const bfd_target *_bfd_vms_lib_ia64_archive_p (bfd *abfd); +extern bfd_boolean _bfd_vms_lib_alpha_mkarchive (bfd *abfd); +extern bfd_boolean _bfd_vms_lib_ia64_mkarchive (bfd *abfd); + /* Routines to use for BFD_JUMP_TABLE_SYMBOLS where there is no symbol support. Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols). */ @@ -398,6 +465,9 @@ extern bfd_boolean _bfd_generic_set_section_contents #define _bfd_nolink_bfd_gc_sections \ ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \ bfd_false) +#define _bfd_nolink_bfd_lookup_section_flags \ + ((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 *)) \ bfd_false) @@ -415,12 +485,16 @@ extern bfd_boolean _bfd_generic_set_section_contents ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false) #define _bfd_nolink_bfd_link_just_syms \ ((void (*) (asection *, struct bfd_link_info *)) bfd_void) +#define _bfd_nolink_bfd_copy_link_hash_symbol_type \ + ((void (*) (bfd *, struct bfd_link_hash_entry *, \ + struct bfd_link_hash_entry *)) bfd_void) #define _bfd_nolink_bfd_final_link \ ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false) #define _bfd_nolink_bfd_link_split_section \ ((bfd_boolean (*) (bfd *, struct bfd_section *)) bfd_false) #define _bfd_nolink_section_already_linked \ - ((void (*) (bfd *, struct bfd_section *, struct bfd_link_info *)) bfd_void) + ((bfd_boolean (*) (bfd *, asection *, \ + struct bfd_link_info *)) bfd_false) #define _bfd_nolink_bfd_define_common_symbol \ ((bfd_boolean (*) (bfd *, struct bfd_link_info *, \ struct bfd_link_hash_entry *)) bfd_false) @@ -459,23 +533,47 @@ extern bfd_boolean _bfd_dwarf1_find_nearest_line (bfd *, asection *, asymbol **, bfd_vma, const char **, const char **, unsigned int *); +struct dwarf_debug_section +{ + const char *uncompressed_name; + const char *compressed_name; +}; + +/* Map of uncompressed DWARF debug section name to compressed one. It + is terminated by NULL uncompressed_name. */ + +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 *, asection *, asymbol **, bfd_vma, const char **, const char **, - unsigned int *, unsigned int, void **); + (bfd *, const struct dwarf_debug_section *, asection *, asymbol **, bfd_vma, + const char **, const char **, unsigned int *, unsigned int *, 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 **); + unsigned int *, unsigned int *, unsigned int, void **); bfd_boolean _bfd_generic_find_line (bfd *, asymbol **, asymbol *, const char **, unsigned int *); +bfd_boolean _bfd_generic_find_nearest_line_discriminator + (bfd *, asection *, asymbol **, bfd_vma, const char **, const char **, + unsigned int *, unsigned int *); + /* 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 **); + +/* Clean up the data used to handle DWARF 2 debugging information. */ +extern void _bfd_dwarf2_cleanup_debug_info + (bfd *, void **); + /* Create a new section entry. */ extern struct bfd_hash_entry *bfd_section_hash_newfunc (struct bfd_hash_entry *, struct bfd_hash_table *, const char *); @@ -529,6 +627,10 @@ extern bfd_boolean _bfd_generic_link_add_one_symbol extern void _bfd_generic_link_just_syms (asection *, struct bfd_link_info *); +/* Generic routine that does nothing. */ +extern void _bfd_generic_copy_link_hash_symbol_type + (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *); + /* Generic link routine. */ extern bfd_boolean _bfd_generic_final_link (bfd *, struct bfd_link_info *); @@ -536,8 +638,8 @@ extern bfd_boolean _bfd_generic_final_link extern bfd_boolean _bfd_generic_link_split_section (bfd *, struct bfd_section *); -extern void _bfd_generic_section_already_linked - (bfd *, struct bfd_section *, struct bfd_link_info *); +extern bfd_boolean _bfd_generic_section_already_linked + (bfd *, asection *, struct bfd_link_info *); /* Generic reloc_link_order processing routine. */ extern bfd_boolean _bfd_generic_reloc_link_order @@ -562,7 +664,7 @@ extern bfd_reloc_status_type _bfd_relocate_contents /* Clear a given location using a given howto. */ extern void _bfd_clear_contents (reloc_howto_type *howto, bfd *input_bfd, - bfd_byte *location); + asection *input_section, bfd_byte *location); /* Link stabs in sections in the first pass. */ @@ -745,7 +847,6 @@ 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 *); - /* Extracted from init.c. */ /* Extracted from libbfd.c. */ bfd_boolean bfd_write_bigendian_4byte_int (bfd *, unsigned int); @@ -773,10 +874,17 @@ struct bfd_iovec int (*bclose) (struct bfd *abfd); int (*bflush) (struct bfd *abfd); int (*bstat) (struct bfd *abfd, struct stat *sb); - /* Just like mmap: (void*)-1 on failure, mmapped address on success. */ + /* Mmap a part of the files. ADDR, LEN, PROT, FLAGS and OFFSET are the usual + mmap parameter, except that LEN and OFFSET do not need to be page + aligned. Returns (void *)-1 on failure, mmapped address on success. + Also write in MAP_ADDR the address of the page aligned buffer and in + MAP_LEN the size mapped (a page multiple). Use unmap with MAP_ADDR and + MAP_LEN to unmap. */ void *(*bmmap) (struct bfd *abfd, void *addr, bfd_size_type len, - int prot, int flags, file_ptr offset); + int prot, int flags, file_ptr offset, + void **map_addr, bfd_size_type *map_len); }; +extern const struct bfd_iovec _bfd_memory_iovec; /* Extracted from bfdwin.c. */ struct _bfd_window_internal { struct _bfd_window_internal *next; @@ -888,6 +996,8 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_SPARC_GOTDATA_OP_HIX22", "BFD_RELOC_SPARC_GOTDATA_OP_LOX10", "BFD_RELOC_SPARC_GOTDATA_OP", + "BFD_RELOC_SPARC_JMP_IREL", + "BFD_RELOC_SPARC_IRELATIVE", "BFD_RELOC_SPARC_BASE13", "BFD_RELOC_SPARC_BASE22", "BFD_RELOC_SPARC_10", @@ -912,6 +1022,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", @@ -951,6 +1065,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_SPU_HI16", "BFD_RELOC_SPU_PPU32", "BFD_RELOC_SPU_PPU64", + "BFD_RELOC_SPU_ADD_PIC", "BFD_RELOC_ALPHA_GPDISP_HI16", "BFD_RELOC_ALPHA_GPDISP_LO16", "BFD_RELOC_ALPHA_GPDISP", @@ -981,6 +1096,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_ALPHA_TPREL_LO16", "BFD_RELOC_ALPHA_TPREL16", "BFD_RELOC_MIPS_JMP", + "BFD_RELOC_MICROMIPS_JMP", "BFD_RELOC_MIPS16_JMP", "BFD_RELOC_MIPS16_GPREL", "BFD_RELOC_HI16", @@ -994,45 +1110,83 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_MIPS16_HI16", "BFD_RELOC_MIPS16_HI16_S", "BFD_RELOC_MIPS16_LO16", + "BFD_RELOC_MIPS16_TLS_GD", + "BFD_RELOC_MIPS16_TLS_LDM", + "BFD_RELOC_MIPS16_TLS_DTPREL_HI16", + "BFD_RELOC_MIPS16_TLS_DTPREL_LO16", + "BFD_RELOC_MIPS16_TLS_GOTTPREL", + "BFD_RELOC_MIPS16_TLS_TPREL_HI16", + "BFD_RELOC_MIPS16_TLS_TPREL_LO16", "BFD_RELOC_MIPS_LITERAL", + "BFD_RELOC_MICROMIPS_LITERAL", + "BFD_RELOC_MICROMIPS_7_PCREL_S1", + "BFD_RELOC_MICROMIPS_10_PCREL_S1", + "BFD_RELOC_MICROMIPS_16_PCREL_S1", + "BFD_RELOC_MICROMIPS_GPREL16", + "BFD_RELOC_MICROMIPS_HI16", + "BFD_RELOC_MICROMIPS_HI16_S", + "BFD_RELOC_MICROMIPS_LO16", "BFD_RELOC_MIPS_GOT16", + "BFD_RELOC_MICROMIPS_GOT16", "BFD_RELOC_MIPS_CALL16", + "BFD_RELOC_MICROMIPS_CALL16", "BFD_RELOC_MIPS_GOT_HI16", + "BFD_RELOC_MICROMIPS_GOT_HI16", "BFD_RELOC_MIPS_GOT_LO16", + "BFD_RELOC_MICROMIPS_GOT_LO16", "BFD_RELOC_MIPS_CALL_HI16", + "BFD_RELOC_MICROMIPS_CALL_HI16", "BFD_RELOC_MIPS_CALL_LO16", + "BFD_RELOC_MICROMIPS_CALL_LO16", "BFD_RELOC_MIPS_SUB", + "BFD_RELOC_MICROMIPS_SUB", "BFD_RELOC_MIPS_GOT_PAGE", + "BFD_RELOC_MICROMIPS_GOT_PAGE", "BFD_RELOC_MIPS_GOT_OFST", + "BFD_RELOC_MICROMIPS_GOT_OFST", "BFD_RELOC_MIPS_GOT_DISP", + "BFD_RELOC_MICROMIPS_GOT_DISP", "BFD_RELOC_MIPS_SHIFT5", "BFD_RELOC_MIPS_SHIFT6", "BFD_RELOC_MIPS_INSERT_A", "BFD_RELOC_MIPS_INSERT_B", "BFD_RELOC_MIPS_DELETE", "BFD_RELOC_MIPS_HIGHEST", + "BFD_RELOC_MICROMIPS_HIGHEST", "BFD_RELOC_MIPS_HIGHER", + "BFD_RELOC_MICROMIPS_HIGHER", "BFD_RELOC_MIPS_SCN_DISP", + "BFD_RELOC_MICROMIPS_SCN_DISP", "BFD_RELOC_MIPS_REL16", "BFD_RELOC_MIPS_RELGOT", "BFD_RELOC_MIPS_JALR", + "BFD_RELOC_MICROMIPS_JALR", "BFD_RELOC_MIPS_TLS_DTPMOD32", "BFD_RELOC_MIPS_TLS_DTPREL32", "BFD_RELOC_MIPS_TLS_DTPMOD64", "BFD_RELOC_MIPS_TLS_DTPREL64", "BFD_RELOC_MIPS_TLS_GD", + "BFD_RELOC_MICROMIPS_TLS_GD", "BFD_RELOC_MIPS_TLS_LDM", + "BFD_RELOC_MICROMIPS_TLS_LDM", "BFD_RELOC_MIPS_TLS_DTPREL_HI16", + "BFD_RELOC_MICROMIPS_TLS_DTPREL_HI16", "BFD_RELOC_MIPS_TLS_DTPREL_LO16", + "BFD_RELOC_MICROMIPS_TLS_DTPREL_LO16", "BFD_RELOC_MIPS_TLS_GOTTPREL", + "BFD_RELOC_MICROMIPS_TLS_GOTTPREL", "BFD_RELOC_MIPS_TLS_TPREL32", "BFD_RELOC_MIPS_TLS_TPREL64", "BFD_RELOC_MIPS_TLS_TPREL_HI16", + "BFD_RELOC_MICROMIPS_TLS_TPREL_HI16", "BFD_RELOC_MIPS_TLS_TPREL_LO16", + "BFD_RELOC_MICROMIPS_TLS_TPREL_LO16", "BFD_RELOC_MIPS_COPY", "BFD_RELOC_MIPS_JUMP_SLOT", + "BFD_RELOC_MOXIE_10_PCREL", + "BFD_RELOC_FRV_LABEL16", "BFD_RELOC_FRV_LABEL24", "BFD_RELOC_FRV_LO16", @@ -1083,6 +1237,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", @@ -1185,6 +1350,23 @@ 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_PPC64_HIGHER", "BFD_RELOC_PPC64_HIGHER_S", "BFD_RELOC_PPC64_HIGHEST", @@ -1285,6 +1467,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_ARM_RELATIVE", "BFD_RELOC_ARM_GOTOFF", "BFD_RELOC_ARM_GOTPC", + "BFD_RELOC_ARM_GOT_PREL", "BFD_RELOC_ARM_TLS_GD32", "BFD_RELOC_ARM_TLS_LDO32", "BFD_RELOC_ARM_TLS_LDM32", @@ -1293,6 +1476,12 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_ARM_TLS_TPOFF32", "BFD_RELOC_ARM_TLS_IE32", "BFD_RELOC_ARM_TLS_LE32", + "BFD_RELOC_ARM_TLS_GOTDESC", + "BFD_RELOC_ARM_TLS_CALL", + "BFD_RELOC_ARM_THM_TLS_CALL", + "BFD_RELOC_ARM_TLS_DESCSEQ", + "BFD_RELOC_ARM_THM_TLS_DESCSEQ", + "BFD_RELOC_ARM_TLS_DESC", "BFD_RELOC_ARM_ALU_PC_G0_NC", "BFD_RELOC_ARM_ALU_PC_G0", "BFD_RELOC_ARM_ALU_PC_G1_NC", @@ -1322,6 +1511,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_ARM_LDC_SB_G1", "BFD_RELOC_ARM_LDC_SB_G2", "BFD_RELOC_ARM_V4BX", + "BFD_RELOC_ARM_IRELATIVE", "BFD_RELOC_ARM_IMMEDIATE", "BFD_RELOC_ARM_ADRL_IMMEDIATE", "BFD_RELOC_ARM_T32_IMMEDIATE", @@ -1330,6 +1520,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_ARM_T32_ADD_PC12", "BFD_RELOC_ARM_SHIFT_IMM", "BFD_RELOC_ARM_SMC", + "BFD_RELOC_ARM_HVC", "BFD_RELOC_ARM_SWI", "BFD_RELOC_ARM_MULTI", "BFD_RELOC_ARM_CP_OFF_IMM", @@ -1437,6 +1628,13 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_SH_TLS_DTPMOD32", "BFD_RELOC_SH_TLS_DTPOFF32", "BFD_RELOC_SH_TLS_TPOFF32", + "BFD_RELOC_SH_GOT20", + "BFD_RELOC_SH_GOTOFF20", + "BFD_RELOC_SH_GOTFUNCDESC", + "BFD_RELOC_SH_GOTFUNCDESC20", + "BFD_RELOC_SH_GOTOFFFUNCDESC", + "BFD_RELOC_SH_GOTOFFFUNCDESC20", + "BFD_RELOC_SH_FUNCDESC", "BFD_RELOC_ARC_B22_PCREL", "BFD_RELOC_ARC_B26", "BFD_RELOC_BFIN_16_IMM", @@ -1553,14 +1751,64 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_V850_LONGJUMP", "BFD_RELOC_V850_ALIGN", "BFD_RELOC_V850_LO16_SPLIT_OFFSET", - "BFD_RELOC_MN10300_32_PCREL", - "BFD_RELOC_MN10300_16_PCREL", + "BFD_RELOC_V850_16_PCREL", + "BFD_RELOC_V850_17_PCREL", + "BFD_RELOC_V850_23", + "BFD_RELOC_V850_32_PCREL", + "BFD_RELOC_V850_32_ABS", + "BFD_RELOC_V850_16_SPLIT_OFFSET", + "BFD_RELOC_V850_16_S1", + "BFD_RELOC_V850_LO16_S1", + "BFD_RELOC_V850_CALLT_15_16_OFFSET", + "BFD_RELOC_V850_32_GOTPCREL", + "BFD_RELOC_V850_16_GOT", + "BFD_RELOC_V850_32_GOT", + "BFD_RELOC_V850_22_PLT_PCREL", + "BFD_RELOC_V850_32_PLT_PCREL", + "BFD_RELOC_V850_COPY", + "BFD_RELOC_V850_GLOB_DAT", + "BFD_RELOC_V850_JMP_SLOT", + "BFD_RELOC_V850_RELATIVE", + "BFD_RELOC_V850_16_GOTOFF", + "BFD_RELOC_V850_32_GOTOFF", + "BFD_RELOC_V850_CODE", + "BFD_RELOC_V850_DATA", "BFD_RELOC_TIC30_LDP", "BFD_RELOC_TIC54X_PARTLS7", "BFD_RELOC_TIC54X_PARTMS9", "BFD_RELOC_TIC54X_23", "BFD_RELOC_TIC54X_16_OF_23", "BFD_RELOC_TIC54X_MS7_OF_23", + "BFD_RELOC_C6000_PCR_S21", + "BFD_RELOC_C6000_PCR_S12", + "BFD_RELOC_C6000_PCR_S10", + "BFD_RELOC_C6000_PCR_S7", + "BFD_RELOC_C6000_ABS_S16", + "BFD_RELOC_C6000_ABS_L16", + "BFD_RELOC_C6000_ABS_H16", + "BFD_RELOC_C6000_SBR_U15_B", + "BFD_RELOC_C6000_SBR_U15_H", + "BFD_RELOC_C6000_SBR_U15_W", + "BFD_RELOC_C6000_SBR_S16", + "BFD_RELOC_C6000_SBR_L16_B", + "BFD_RELOC_C6000_SBR_L16_H", + "BFD_RELOC_C6000_SBR_L16_W", + "BFD_RELOC_C6000_SBR_H16_B", + "BFD_RELOC_C6000_SBR_H16_H", + "BFD_RELOC_C6000_SBR_H16_W", + "BFD_RELOC_C6000_SBR_GOT_U15_W", + "BFD_RELOC_C6000_SBR_GOT_L16_W", + "BFD_RELOC_C6000_SBR_GOT_H16_W", + "BFD_RELOC_C6000_DSBT_INDEX", + "BFD_RELOC_C6000_PREL31", + "BFD_RELOC_C6000_COPY", + "BFD_RELOC_C6000_JUMP_SLOT", + "BFD_RELOC_C6000_EHTYPE", + "BFD_RELOC_C6000_PCR_H16", + "BFD_RELOC_C6000_PCR_L16", + "BFD_RELOC_C6000_ALIGN", + "BFD_RELOC_C6000_FPHEAD", + "BFD_RELOC_C6000_NOCMP", "BFD_RELOC_FR30_48", "BFD_RELOC_FR30_20", "BFD_RELOC_FR30_6_IN_4", @@ -1643,6 +1891,68 @@ 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_RL78_NEG8", + "BFD_RELOC_RL78_NEG16", + "BFD_RELOC_RL78_NEG24", + "BFD_RELOC_RL78_NEG32", + "BFD_RELOC_RL78_16_OP", + "BFD_RELOC_RL78_24_OP", + "BFD_RELOC_RL78_32_OP", + "BFD_RELOC_RL78_8U", + "BFD_RELOC_RL78_16U", + "BFD_RELOC_RL78_24U", + "BFD_RELOC_RL78_DIR3U_PCREL", + "BFD_RELOC_RL78_DIFF", + "BFD_RELOC_RL78_GPRELB", + "BFD_RELOC_RL78_GPRELW", + "BFD_RELOC_RL78_GPRELL", + "BFD_RELOC_RL78_SYM", + "BFD_RELOC_RL78_OP_SUBTRACT", + "BFD_RELOC_RL78_OP_NEG", + "BFD_RELOC_RL78_OP_AND", + "BFD_RELOC_RL78_OP_SHRA", + "BFD_RELOC_RL78_ABS8", + "BFD_RELOC_RL78_ABS16", + "BFD_RELOC_RL78_ABS16_REV", + "BFD_RELOC_RL78_ABS32", + "BFD_RELOC_RL78_ABS32_REV", + "BFD_RELOC_RL78_ABS16U", + "BFD_RELOC_RL78_ABS16UW", + "BFD_RELOC_RL78_ABS16UL", + "BFD_RELOC_RL78_RELAX", + "BFD_RELOC_RL78_HI16", + "BFD_RELOC_RL78_HI8", + "BFD_RELOC_RL78_LO16", + "BFD_RELOC_RX_NEG8", + "BFD_RELOC_RX_NEG16", + "BFD_RELOC_RX_NEG24", + "BFD_RELOC_RX_NEG32", + "BFD_RELOC_RX_16_OP", + "BFD_RELOC_RX_24_OP", + "BFD_RELOC_RX_32_OP", + "BFD_RELOC_RX_8U", + "BFD_RELOC_RX_16U", + "BFD_RELOC_RX_24U", + "BFD_RELOC_RX_DIR3U_PCREL", + "BFD_RELOC_RX_DIFF", + "BFD_RELOC_RX_GPRELB", + "BFD_RELOC_RX_GPRELW", + "BFD_RELOC_RX_GPRELL", + "BFD_RELOC_RX_SYM", + "BFD_RELOC_RX_OP_SUBTRACT", + "BFD_RELOC_RX_OP_NEG", + "BFD_RELOC_RX_ABS8", + "BFD_RELOC_RX_ABS16", + "BFD_RELOC_RX_ABS16_REV", + "BFD_RELOC_RX_ABS32", + "BFD_RELOC_RX_ABS32_REV", + "BFD_RELOC_RX_ABS16U", + "BFD_RELOC_RX_ABS16UW", + "BFD_RELOC_RX_ABS16UL", + "BFD_RELOC_RX_RELAX", "BFD_RELOC_390_12", "BFD_RELOC_390_GOT12", "BFD_RELOC_390_PLT32", @@ -1693,6 +2003,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", @@ -1810,6 +2121,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", @@ -2067,6 +2396,282 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_LM32_GLOB_DAT", "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_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_MICROBLAZE_32_LO", + "BFD_RELOC_MICROBLAZE_32_LO_PCREL", + "BFD_RELOC_MICROBLAZE_32_ROSDA", + "BFD_RELOC_MICROBLAZE_32_RWSDA", + "BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM", + "BFD_RELOC_MICROBLAZE_64_NONE", + "BFD_RELOC_MICROBLAZE_64_GOTPC", + "BFD_RELOC_MICROBLAZE_64_GOT", + "BFD_RELOC_MICROBLAZE_64_PLT", + "BFD_RELOC_MICROBLAZE_64_GOTOFF", + "BFD_RELOC_MICROBLAZE_32_GOTOFF", + "BFD_RELOC_MICROBLAZE_COPY", + "BFD_RELOC_AARCH64_ADD_LO12", + "BFD_RELOC_AARCH64_ADR_GOT_PAGE", + "BFD_RELOC_AARCH64_ADR_HI21_PCREL", + "BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL", + "BFD_RELOC_AARCH64_ADR_LO21_PCREL", + "BFD_RELOC_AARCH64_BRANCH19", + "BFD_RELOC_AARCH64_CALL26", + "BFD_RELOC_AARCH64_GAS_INTERNAL_FIXUP", + "BFD_RELOC_AARCH64_JUMP26", + "BFD_RELOC_AARCH64_LD_LO19_PCREL", + "BFD_RELOC_AARCH64_LD64_GOT_LO12_NC", + "BFD_RELOC_AARCH64_LDST_LO12", + "BFD_RELOC_AARCH64_LDST8_LO12", + "BFD_RELOC_AARCH64_LDST16_LO12", + "BFD_RELOC_AARCH64_LDST32_LO12", + "BFD_RELOC_AARCH64_LDST64_LO12", + "BFD_RELOC_AARCH64_LDST128_LO12", + "BFD_RELOC_AARCH64_MOVW_G0", + "BFD_RELOC_AARCH64_MOVW_G0_S", + "BFD_RELOC_AARCH64_MOVW_G0_NC", + "BFD_RELOC_AARCH64_MOVW_G1", + "BFD_RELOC_AARCH64_MOVW_G1_NC", + "BFD_RELOC_AARCH64_MOVW_G1_S", + "BFD_RELOC_AARCH64_MOVW_G2", + "BFD_RELOC_AARCH64_MOVW_G2_NC", + "BFD_RELOC_AARCH64_MOVW_G2_S", + "BFD_RELOC_AARCH64_MOVW_G3", + "BFD_RELOC_AARCH64_TLSDESC", + "BFD_RELOC_AARCH64_TLSDESC_ADD", + "BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC", + "BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE", + "BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21", + "BFD_RELOC_AARCH64_TLSDESC_CALL", + "BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC", + "BFD_RELOC_AARCH64_TLSDESC_LD64_PREL19", + "BFD_RELOC_AARCH64_TLSDESC_LDR", + "BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC", + "BFD_RELOC_AARCH64_TLSDESC_OFF_G1", + "BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC", + "BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21", + "BFD_RELOC_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21", + "BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19", + "BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC", + "BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC", + "BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G1", + "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_TLSLE_MOVW_TPREL_G0", + "BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC", + "BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1", + "BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC", + "BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2", + "BFD_RELOC_AARCH64_TLS_DTPMOD64", + "BFD_RELOC_AARCH64_TLS_DTPREL64", + "BFD_RELOC_AARCH64_TLS_TPREL64", + "BFD_RELOC_AARCH64_TSTBR14", + "BFD_RELOC_TILEPRO_COPY", + "BFD_RELOC_TILEPRO_GLOB_DAT", + "BFD_RELOC_TILEPRO_JMP_SLOT", + "BFD_RELOC_TILEPRO_RELATIVE", + "BFD_RELOC_TILEPRO_BROFF_X1", + "BFD_RELOC_TILEPRO_JOFFLONG_X1", + "BFD_RELOC_TILEPRO_JOFFLONG_X1_PLT", + "BFD_RELOC_TILEPRO_IMM8_X0", + "BFD_RELOC_TILEPRO_IMM8_Y0", + "BFD_RELOC_TILEPRO_IMM8_X1", + "BFD_RELOC_TILEPRO_IMM8_Y1", + "BFD_RELOC_TILEPRO_DEST_IMM8_X1", + "BFD_RELOC_TILEPRO_MT_IMM15_X1", + "BFD_RELOC_TILEPRO_MF_IMM15_X1", + "BFD_RELOC_TILEPRO_IMM16_X0", + "BFD_RELOC_TILEPRO_IMM16_X1", + "BFD_RELOC_TILEPRO_IMM16_X0_LO", + "BFD_RELOC_TILEPRO_IMM16_X1_LO", + "BFD_RELOC_TILEPRO_IMM16_X0_HI", + "BFD_RELOC_TILEPRO_IMM16_X1_HI", + "BFD_RELOC_TILEPRO_IMM16_X0_HA", + "BFD_RELOC_TILEPRO_IMM16_X1_HA", + "BFD_RELOC_TILEPRO_IMM16_X0_PCREL", + "BFD_RELOC_TILEPRO_IMM16_X1_PCREL", + "BFD_RELOC_TILEPRO_IMM16_X0_LO_PCREL", + "BFD_RELOC_TILEPRO_IMM16_X1_LO_PCREL", + "BFD_RELOC_TILEPRO_IMM16_X0_HI_PCREL", + "BFD_RELOC_TILEPRO_IMM16_X1_HI_PCREL", + "BFD_RELOC_TILEPRO_IMM16_X0_HA_PCREL", + "BFD_RELOC_TILEPRO_IMM16_X1_HA_PCREL", + "BFD_RELOC_TILEPRO_IMM16_X0_GOT", + "BFD_RELOC_TILEPRO_IMM16_X1_GOT", + "BFD_RELOC_TILEPRO_IMM16_X0_GOT_LO", + "BFD_RELOC_TILEPRO_IMM16_X1_GOT_LO", + "BFD_RELOC_TILEPRO_IMM16_X0_GOT_HI", + "BFD_RELOC_TILEPRO_IMM16_X1_GOT_HI", + "BFD_RELOC_TILEPRO_IMM16_X0_GOT_HA", + "BFD_RELOC_TILEPRO_IMM16_X1_GOT_HA", + "BFD_RELOC_TILEPRO_MMSTART_X0", + "BFD_RELOC_TILEPRO_MMEND_X0", + "BFD_RELOC_TILEPRO_MMSTART_X1", + "BFD_RELOC_TILEPRO_MMEND_X1", + "BFD_RELOC_TILEPRO_SHAMT_X0", + "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", + "BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_LO", + "BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HI", + "BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_HI", + "BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HA", + "BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_HA", + "BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE", + "BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE", + "BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_LO", + "BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_LO", + "BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HI", + "BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HI", + "BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HA", + "BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HA", + "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", + "BFD_RELOC_TILEGX_HW3", + "BFD_RELOC_TILEGX_HW0_LAST", + "BFD_RELOC_TILEGX_HW1_LAST", + "BFD_RELOC_TILEGX_HW2_LAST", + "BFD_RELOC_TILEGX_COPY", + "BFD_RELOC_TILEGX_GLOB_DAT", + "BFD_RELOC_TILEGX_JMP_SLOT", + "BFD_RELOC_TILEGX_RELATIVE", + "BFD_RELOC_TILEGX_BROFF_X1", + "BFD_RELOC_TILEGX_JUMPOFF_X1", + "BFD_RELOC_TILEGX_JUMPOFF_X1_PLT", + "BFD_RELOC_TILEGX_IMM8_X0", + "BFD_RELOC_TILEGX_IMM8_Y0", + "BFD_RELOC_TILEGX_IMM8_X1", + "BFD_RELOC_TILEGX_IMM8_Y1", + "BFD_RELOC_TILEGX_DEST_IMM8_X1", + "BFD_RELOC_TILEGX_MT_IMM14_X1", + "BFD_RELOC_TILEGX_MF_IMM14_X1", + "BFD_RELOC_TILEGX_MMSTART_X0", + "BFD_RELOC_TILEGX_MMEND_X0", + "BFD_RELOC_TILEGX_SHAMT_X0", + "BFD_RELOC_TILEGX_SHAMT_X1", + "BFD_RELOC_TILEGX_SHAMT_Y0", + "BFD_RELOC_TILEGX_SHAMT_Y1", + "BFD_RELOC_TILEGX_IMM16_X0_HW0", + "BFD_RELOC_TILEGX_IMM16_X1_HW0", + "BFD_RELOC_TILEGX_IMM16_X0_HW1", + "BFD_RELOC_TILEGX_IMM16_X1_HW1", + "BFD_RELOC_TILEGX_IMM16_X0_HW2", + "BFD_RELOC_TILEGX_IMM16_X1_HW2", + "BFD_RELOC_TILEGX_IMM16_X0_HW3", + "BFD_RELOC_TILEGX_IMM16_X1_HW3", + "BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST", + "BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST", + "BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST", + "BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST", + "BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST", + "BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST", + "BFD_RELOC_TILEGX_IMM16_X0_HW0_PCREL", + "BFD_RELOC_TILEGX_IMM16_X1_HW0_PCREL", + "BFD_RELOC_TILEGX_IMM16_X0_HW1_PCREL", + "BFD_RELOC_TILEGX_IMM16_X1_HW1_PCREL", + "BFD_RELOC_TILEGX_IMM16_X0_HW2_PCREL", + "BFD_RELOC_TILEGX_IMM16_X1_HW2_PCREL", + "BFD_RELOC_TILEGX_IMM16_X0_HW3_PCREL", + "BFD_RELOC_TILEGX_IMM16_X1_HW3_PCREL", + "BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PCREL", + "BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PCREL", + "BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PCREL", + "BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PCREL", + "BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PCREL", + "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_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_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_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_HW0_TLS_IE", + "BFD_RELOC_TILEGX_IMM16_X1_HW0_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_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", + "BFD_RELOC_EPIPHANY_LOW", + "BFD_RELOC_EPIPHANY_SIMM11", + "BFD_RELOC_EPIPHANY_IMM11", + "BFD_RELOC_EPIPHANY_IMM8", "@@overflow: BFD_RELOC_UNUSED@@", }; #endif @@ -2083,6 +2688,9 @@ bfd_boolean bfd_generic_relax_section bfd_boolean bfd_generic_gc_sections (bfd *, struct bfd_link_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 *); @@ -2105,4 +2713,8 @@ 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. */