/* DO NOT EDIT! -*- buffer-read-only: t -*- This file is automatically
- generated from "libbfd-in.h", "init.c", "libbfd.c", "bfdio.c",
- "bfdwin.c", "cache.c", "reloc.c", "archures.c" and "elf.c".
+ generated from "libbfd-in.h", "libbfd.c", "bfdio.c", "bfdwin.c",
+ "cache.c", "reloc.c", "archures.c" and "linker.c".
Run "make headers" in your build bfd/ to regenerate. */
/* libbfd.h -- Declarations used by bfd library *implementation*.
(This include file is not for users of the library.)
- Copyright (C) 1990-2015 Free Software Foundation, Inc.
+ Copyright (C) 1990-2017 Free Software Foundation, Inc.
Written by Cygnus Support.
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
- address space. */
-#define BFD_ALIGN(this, boundary) \
- ((((bfd_vma) (this) + (boundary) - 1) >= (bfd_vma) (this)) \
- ? (((bfd_vma) (this) + ((boundary) - 1)) & ~ (bfd_vma) ((boundary)-1)) \
- : ~ (bfd_vma) 0)
-
/* If you want to read and write large blocks, you might want to do it
in quanta of this amount */
#define DEFAULT_BUFFERSIZE 8192
extern void *bfd_zmalloc2
(bfd_size_type, bfd_size_type);
-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;
+extern void _bfd_error_handler (const char *s, ...);
/* These routines allocate and free things on the BFD's objalloc. */
(bfd *abfd);
#define bfd_slurp_bsd_armap bfd_slurp_armap
#define bfd_slurp_coff_armap bfd_slurp_armap
+bfd_boolean _bfd_archive_64_bit_slurp_armap
+ (bfd *);
+bfd_boolean _bfd_archive_64_bit_write_armap
+ (bfd *, unsigned int, struct orl *, unsigned int, int);
+#define _bfd_archive_64_bit_slurp_extended_name_table \
+ _bfd_slurp_extended_name_table
+#define _bfd_archive_64_bit_construct_extended_name_table \
+ _bfd_archive_coff_construct_extended_name_table
+#define _bfd_archive_64_bit_truncate_arname \
+ bfd_dont_truncate_arname
+#define _bfd_archive_64_bit_read_ar_hdr \
+ _bfd_generic_read_ar_hdr
+#define _bfd_archive_64_bit_write_ar_hdr \
+ _bfd_generic_write_ar_hdr
+#define _bfd_archive_64_bit_openr_next_archived_file \
+ bfd_generic_openr_next_archived_file
+#define _bfd_archive_64_bit_get_elt_at_index \
+ _bfd_generic_get_elt_at_index
+#define _bfd_archive_64_bit_generic_stat_arch_elt \
+ bfd_generic_stat_arch_elt
+#define _bfd_archive_64_bit_update_armap_timestamp \
+ bfd_true
+
bfd_boolean _bfd_slurp_extended_name_table
(bfd *abfd);
extern bfd_boolean _bfd_construct_extended_name_table
void bfd_gnu_truncate_arname
(bfd *abfd, const char *filename, char *hdr);
-bfd_boolean bsd_write_armap
+bfd_boolean _bfd_bsd_write_armap
(bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count,
int stridx);
-bfd_boolean coff_write_armap
+bfd_boolean _bfd_coff_write_armap
(bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count,
int stridx);
#define _bfd_generic_bfd_copy_private_bfd_data \
((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
#define _bfd_generic_bfd_merge_private_bfd_data \
- ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
+ ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_true)
#define _bfd_generic_bfd_set_private_flags \
((bfd_boolean (*) (bfd *, flagword)) bfd_true)
#define _bfd_generic_bfd_copy_private_section_data \
extern bfd_boolean _bfd_archive_bsd_construct_extended_name_table
(bfd *, char **, bfd_size_type *, const char **);
#define _bfd_archive_bsd_truncate_arname bfd_bsd_truncate_arname
-#define _bfd_archive_bsd_write_armap bsd_write_armap
+#define _bfd_archive_bsd_write_armap _bfd_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 \
extern bfd_boolean _bfd_archive_coff_construct_extended_name_table
(bfd *, char **, bfd_size_type *, const char **);
#define _bfd_archive_coff_truncate_arname bfd_dont_truncate_arname
-#define _bfd_archive_coff_write_armap coff_write_armap
+#define _bfd_archive_coff_write_armap _bfd_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 \
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_write_armap _bfd_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 \
/* 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. */
+ are irrelevant. */
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
+#define _bfd_vms_lib_slurp_armap _bfd_noarchive_slurp_armap
+#define _bfd_vms_lib_slurp_extended_name_table \
+ _bfd_noarchive_slurp_extended_name_table
+#define _bfd_vms_lib_construct_extended_name_table \
+ _bfd_noarchive_construct_extended_name_table
+#define _bfd_vms_lib_truncate_arname _bfd_noarchive_truncate_arname
+#define _bfd_vms_lib_write_armap _bfd_noarchive_write_armap
+#define _bfd_vms_lib_read_ar_hdr _bfd_noarchive_read_ar_hdr
+#define _bfd_vms_lib_write_ar_hdr _bfd_noarchive_write_ar_hdr
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 *);
extern long _bfd_norelocs_get_reloc_upper_bound (bfd *, asection *);
extern long _bfd_norelocs_canonicalize_reloc (bfd *, asection *,
arelent **, asymbol **);
+extern void _bfd_norelocs_set_reloc (bfd *, asection *,
+ arelent **, unsigned int);
#define _bfd_norelocs_bfd_reloc_type_lookup \
((reloc_howto_type *(*) (bfd *, bfd_reloc_code_real_type)) bfd_nullvoidptr)
#define _bfd_norelocs_bfd_reloc_name_lookup \
#define _bfd_nolink_bfd_define_common_symbol \
((bfd_boolean (*) (bfd *, struct bfd_link_info *, \
struct bfd_link_hash_entry *)) bfd_false)
+#define _bfd_nolink_bfd_link_check_relocs \
+ _bfd_generic_link_check_relocs
/* Routines to use for BFD_JUMP_TABLE_DYNAMIC for targets which do not
have dynamic symbols or relocs. Use BFD_JUMP_TABLE_DYNAMIC
/* 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 **);
extern bfd_boolean _bfd_generic_link_add_symbols
(bfd *, struct bfd_link_info *);
-/* Generic add symbol routine. This version is used by targets for
- which the linker must collect constructors and destructors by name,
- as the collect2 program does. */
-extern bfd_boolean _bfd_generic_link_add_symbols_collect
- (bfd *, struct bfd_link_info *);
-
/* Generic archive add symbol routine. */
extern bfd_boolean _bfd_generic_link_add_archive_symbols
(bfd *, struct bfd_link_info *,
/* Write out a string table. */
extern bfd_boolean _bfd_stringtab_emit
(bfd *, struct bfd_strtab_hash *);
-
-/* Check that endianness of input and output file match. */
-extern bfd_boolean _bfd_generic_verify_endian_match
- (bfd *, bfd *);
\f
/* Macros to tell if bfds are read or write enabled.
/* Manipulate a system FILE but using BFD's "file_ptr", rather than
the system "off_t" or "off64_t", as the offset. */
-extern file_ptr real_ftell (FILE *file);
-extern int real_fseek (FILE *file, file_ptr offset, int whence);
-extern FILE *real_fopen (const char *filename, const char *modes);
+extern file_ptr _bfd_real_ftell (FILE *file);
+extern int _bfd_real_fseek (FILE *file, file_ptr offset, int whence);
+extern FILE *_bfd_real_fopen (const char *filename, const char *modes);
/* List of supported target vectors, and the default vector (if
bfd_default_vector[0] is NULL, there is no default). */
(bfd_boolean (*) (struct bfd_section_already_linked_hash_entry *,
void *), void *);
-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. */
+extern bfd_vma _bfd_read_unsigned_leb128 (bfd *, bfd_byte *, unsigned int *);
+extern bfd_signed_vma _bfd_read_signed_leb128 (bfd *, bfd_byte *, unsigned int *);
+extern bfd_vma _bfd_safe_read_leb128 (bfd *, bfd_byte *, unsigned int *,
+ bfd_boolean, const bfd_byte * const);
/* Extracted from libbfd.c. */
bfd_boolean bfd_write_bigendian_4byte_int (bfd *, unsigned int);
"BFD_RELOC_MICROMIPS_7_PCREL_S1",
"BFD_RELOC_MICROMIPS_10_PCREL_S1",
"BFD_RELOC_MICROMIPS_16_PCREL_S1",
+ "BFD_RELOC_MIPS16_16_PCREL_S1",
"BFD_RELOC_MIPS_21_PCREL_S2",
"BFD_RELOC_MIPS_26_PCREL_S2",
"BFD_RELOC_MIPS_18_PCREL_S3",
"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",
"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",
"BFD_RELOC_PPC_VLE_SDAREL_HI16D",
"BFD_RELOC_PPC_VLE_SDAREL_HA16A",
"BFD_RELOC_PPC_VLE_SDAREL_HA16D",
+ "BFD_RELOC_PPC_16DX_HA",
+ "BFD_RELOC_PPC_REL16DX_HA",
"BFD_RELOC_PPC64_HIGHER",
"BFD_RELOC_PPC64_HIGHER_S",
"BFD_RELOC_PPC64_HIGHEST",
"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",
"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",
"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_SECTOFF_S9",
+ "BFD_RELOC_AC_SECTOFF_S9_1",
+ "BFD_RELOC_AC_SECTOFF_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_SDA_12",
+ "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",
"BFD_RELOC_AVR_LDS_STS_16",
"BFD_RELOC_AVR_PORT6",
"BFD_RELOC_AVR_PORT5",
+ "BFD_RELOC_RISCV_HI20",
+ "BFD_RELOC_RISCV_PCREL_HI20",
+ "BFD_RELOC_RISCV_PCREL_LO12_I",
+ "BFD_RELOC_RISCV_PCREL_LO12_S",
+ "BFD_RELOC_RISCV_LO12_I",
+ "BFD_RELOC_RISCV_LO12_S",
+ "BFD_RELOC_RISCV_GPREL12_I",
+ "BFD_RELOC_RISCV_GPREL12_S",
+ "BFD_RELOC_RISCV_TPREL_HI20",
+ "BFD_RELOC_RISCV_TPREL_LO12_I",
+ "BFD_RELOC_RISCV_TPREL_LO12_S",
+ "BFD_RELOC_RISCV_TPREL_ADD",
+ "BFD_RELOC_RISCV_CALL",
+ "BFD_RELOC_RISCV_CALL_PLT",
+ "BFD_RELOC_RISCV_ADD8",
+ "BFD_RELOC_RISCV_ADD16",
+ "BFD_RELOC_RISCV_ADD32",
+ "BFD_RELOC_RISCV_ADD64",
+ "BFD_RELOC_RISCV_SUB8",
+ "BFD_RELOC_RISCV_SUB16",
+ "BFD_RELOC_RISCV_SUB32",
+ "BFD_RELOC_RISCV_SUB64",
+ "BFD_RELOC_RISCV_GOT_HI20",
+ "BFD_RELOC_RISCV_TLS_GOT_HI20",
+ "BFD_RELOC_RISCV_TLS_GD_HI20",
+ "BFD_RELOC_RISCV_JMP",
+ "BFD_RELOC_RISCV_TLS_DTPMOD32",
+ "BFD_RELOC_RISCV_TLS_DTPREL32",
+ "BFD_RELOC_RISCV_TLS_DTPMOD64",
+ "BFD_RELOC_RISCV_TLS_DTPREL64",
+ "BFD_RELOC_RISCV_TLS_TPREL32",
+ "BFD_RELOC_RISCV_TLS_TPREL64",
+ "BFD_RELOC_RISCV_ALIGN",
+ "BFD_RELOC_RISCV_RVC_BRANCH",
+ "BFD_RELOC_RISCV_RVC_JUMP",
+ "BFD_RELOC_RISCV_RVC_LUI",
+ "BFD_RELOC_RISCV_GPREL_I",
+ "BFD_RELOC_RISCV_GPREL_S",
+ "BFD_RELOC_RISCV_TPREL_I",
+ "BFD_RELOC_RISCV_TPREL_S",
+ "BFD_RELOC_RISCV_RELAX",
+ "BFD_RELOC_RISCV_CFA",
+ "BFD_RELOC_RISCV_SUB6",
+ "BFD_RELOC_RISCV_SET6",
+ "BFD_RELOC_RISCV_SET8",
+ "BFD_RELOC_RISCV_SET16",
+ "BFD_RELOC_RISCV_SET32",
"BFD_RELOC_RL78_NEG8",
"BFD_RELOC_RL78_NEG16",
"BFD_RELOC_RL78_NEG24",
"BFD_RELOC_NIOS2_R2_L5I4X1",
"BFD_RELOC_NIOS2_R2_T1X1I6",
"BFD_RELOC_NIOS2_R2_T1X1I6_2",
+ "BFD_RELOC_PRU_U16",
+ "BFD_RELOC_PRU_U16_PMEMIMM",
+ "BFD_RELOC_PRU_LDI32",
+ "BFD_RELOC_PRU_S10_PCREL",
+ "BFD_RELOC_PRU_U8_PCREL",
+ "BFD_RELOC_PRU_32_PMEM",
+ "BFD_RELOC_PRU_16_PMEM",
+ "BFD_RELOC_PRU_GNU_DIFF8",
+ "BFD_RELOC_PRU_GNU_DIFF16",
+ "BFD_RELOC_PRU_GNU_DIFF32",
+ "BFD_RELOC_PRU_GNU_DIFF16_PMEM",
+ "BFD_RELOC_PRU_GNU_DIFF32_PMEM",
"BFD_RELOC_IQ2000_OFFSET_16",
"BFD_RELOC_IQ2000_OFFSET_21",
"BFD_RELOC_IQ2000_UHI16",
"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",
"BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL",
"BFD_RELOC_MICROBLAZE_64_TLSTPREL",
"BFD_RELOC_AARCH64_RELOC_START",
+ "BFD_RELOC_AARCH64_NULL",
"BFD_RELOC_AARCH64_NONE",
"BFD_RELOC_AARCH64_64",
"BFD_RELOC_AARCH64_32",
"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_TLSIE_MOVW_GOTTPREL_G1",
- "BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G0_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_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_LD64_LO12",
"BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC",
- "BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC",
+ "BFD_RELOC_AARCH64_TLSDESC_ADD_LO12",
"BFD_RELOC_AARCH64_TLSDESC_OFF_G1",
"BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC",
"BFD_RELOC_AARCH64_TLSDESC_LDR",
"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_VISIUM_HI16_PCREL",
"BFD_RELOC_VISIUM_LO16_PCREL",
"BFD_RELOC_VISIUM_IM16_PCREL",
+ "BFD_RELOC_WASM32_LEB128",
+ "BFD_RELOC_WASM32_LEB128_GOT",
+ "BFD_RELOC_WASM32_LEB128_GOT_CODE",
+ "BFD_RELOC_WASM32_LEB128_PLT",
+ "BFD_RELOC_WASM32_PLT_INDEX",
+ "BFD_RELOC_WASM32_ABS32_CODE",
+ "BFD_RELOC_WASM32_COPY",
+ "BFD_RELOC_WASM32_CODE_POINTER",
+ "BFD_RELOC_WASM32_INDEX",
+ "BFD_RELOC_WASM32_PLT_SIG",
"@@overflow: BFD_RELOC_UNUSED@@",
};
#endif
bfd_boolean relocatable,
asymbol **symbols);
+void _bfd_generic_set_reloc
+ (bfd *abfd,
+ sec_ptr section,
+ arelent **relptr,
+ unsigned int count);
+
/* Extracted from archures.c. */
extern const bfd_arch_info_type bfd_default_arch_struct;
-bfd_boolean bfd_default_set_arch_mach
- (bfd *abfd, enum bfd_architecture arch, unsigned long mach);
-
const bfd_arch_info_type *bfd_default_compatible
(const bfd_arch_info_type *a, const bfd_arch_info_type *b);
bfd_boolean is_bigendian,
bfd_boolean code);
-/* Extracted from elf.c. */
+/* Extracted from linker.c. */
+bfd_boolean _bfd_generic_verify_endian_match
+ (bfd *ibfd, struct bfd_link_info *info);
+
#ifdef __cplusplus
}
#endif