| Index: bfd/bfd-in2.h
|
| diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
|
| index c1c5e90a37b5e1f17a8f24764aeab97c3256b126..846116b58a9a5ef4790f7b03e2f0510f7229ff91 100644
|
| --- a/bfd/bfd-in2.h
|
| +++ b/bfd/bfd-in2.h
|
| @@ -7,9 +7,7 @@
|
|
|
| /* Main header file for the bfd library -- portable access to object files.
|
|
|
| - Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
| - 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
|
| - 2012 Free Software Foundation, Inc.
|
| + Copyright 1990-2013 Free Software Foundation, Inc.
|
|
|
| Contributed by Cygnus Support.
|
|
|
| @@ -69,7 +67,7 @@ extern "C" {
|
| problem for example when trying to use STRING_COMMA_LEN to build
|
| the arguments to the strncmp() macro. Hence this alternative
|
| definition of strncmp is provided here.
|
| -
|
| +
|
| Note - these macros do NOT work if STR2 is not a constant string. */
|
| #define CONST_STRNEQ(STR1,STR2) (strncmp ((STR1), (STR2), sizeof (STR2) - 1) == 0)
|
| /* strcpy() can have a similar problem, but since we know we are
|
| @@ -655,6 +653,8 @@ extern struct bfd_link_needed_list *bfd_elf_get_needed_list
|
| (bfd *, struct bfd_link_info *);
|
| extern bfd_boolean bfd_elf_get_bfd_needed_list
|
| (bfd *, struct bfd_link_needed_list **);
|
| +extern bfd_boolean bfd_elf_stack_segment_size (bfd *, struct bfd_link_info *,
|
| + const char *, bfd_vma);
|
| extern bfd_boolean bfd_elf_size_dynamic_sections
|
| (bfd *, const char *, const char *, const char *, const char *, const char *,
|
| const char * const *, struct bfd_link_info *, struct bfd_section **);
|
| @@ -916,7 +916,8 @@ extern void elf32_arm_next_input_section
|
| (struct bfd_link_info *, struct bfd_section *);
|
| extern bfd_boolean elf32_arm_size_stubs
|
| (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma,
|
| - struct bfd_section * (*) (const char *, struct bfd_section *), void (*) (void));
|
| + struct bfd_section * (*) (const char *, struct bfd_section *, unsigned int),
|
| + void (*) (void));
|
| extern bfd_boolean elf32_arm_build_stubs
|
| (struct bfd_link_info *);
|
|
|
| @@ -935,6 +936,50 @@ extern unsigned int _bfd_elf_ppc_at_tls_transform
|
| extern unsigned int _bfd_elf_ppc_at_tprel_transform
|
| (unsigned int, unsigned int);
|
|
|
| +extern void bfd_elf64_aarch64_init_maps
|
| + (bfd *);
|
| +
|
| +extern void bfd_elf32_aarch64_init_maps
|
| + (bfd *);
|
| +
|
| +extern void bfd_elf64_aarch64_set_options
|
| + (bfd *, struct bfd_link_info *, int, int, int);
|
| +
|
| +extern void bfd_elf32_aarch64_set_options
|
| + (bfd *, struct bfd_link_info *, int, int, int);
|
| +
|
| +/* ELF AArch64 mapping symbol support. */
|
| +#define BFD_AARCH64_SPECIAL_SYM_TYPE_MAP (1 << 0)
|
| +#define BFD_AARCH64_SPECIAL_SYM_TYPE_TAG (1 << 1)
|
| +#define BFD_AARCH64_SPECIAL_SYM_TYPE_OTHER (1 << 2)
|
| +#define BFD_AARCH64_SPECIAL_SYM_TYPE_ANY (~0)
|
| +extern bfd_boolean bfd_is_aarch64_special_symbol_name
|
| + (const char * name, int type);
|
| +
|
| +/* AArch64 stub generation support for ELF64. Called from the linker. */
|
| +extern int elf64_aarch64_setup_section_lists
|
| + (bfd *, struct bfd_link_info *);
|
| +extern void elf64_aarch64_next_input_section
|
| + (struct bfd_link_info *, struct bfd_section *);
|
| +extern bfd_boolean elf64_aarch64_size_stubs
|
| + (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma,
|
| + struct bfd_section * (*) (const char *, struct bfd_section *),
|
| + void (*) (void));
|
| +extern bfd_boolean elf64_aarch64_build_stubs
|
| + (struct bfd_link_info *);
|
| +/* AArch64 stub generation support for ELF32. Called from the linker. */
|
| +extern int elf32_aarch64_setup_section_lists
|
| + (bfd *, struct bfd_link_info *);
|
| +extern void elf32_aarch64_next_input_section
|
| + (struct bfd_link_info *, struct bfd_section *);
|
| +extern bfd_boolean elf32_aarch64_size_stubs
|
| + (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma,
|
| + struct bfd_section * (*) (const char *, struct bfd_section *),
|
| + void (*) (void));
|
| +extern bfd_boolean elf32_aarch64_build_stubs
|
| + (struct bfd_link_info *);
|
| +
|
| +
|
| /* TI COFF load page support. */
|
| extern void bfd_ticoff_set_section_load_page
|
| (struct bfd_section *, int);
|
| @@ -970,9 +1015,8 @@ struct coff_comdat_info
|
| long symbol;
|
| };
|
|
|
| -extern struct coff_comdat_info *bfd_coff_get_comdat_section
|
| +extern struct coff_comdat_info * bfd_coff_get_comdat_section
|
| (bfd *, struct bfd_section *);
|
| -
|
| /* Extracted from init.c. */
|
| void bfd_init (void);
|
|
|
| @@ -1021,8 +1065,16 @@ void *bfd_zalloc (bfd *abfd, bfd_size_type wanted);
|
| unsigned long bfd_calc_gnu_debuglink_crc32
|
| (unsigned long crc, const unsigned char *buf, bfd_size_type len);
|
|
|
| +char *bfd_get_debug_link_info (bfd *abfd, unsigned long *crc32_out);
|
| +
|
| +char *bfd_get_alt_debug_link_info (bfd * abfd,
|
| + bfd_size_type *buildid_len,
|
| + bfd_byte **buildid_out);
|
| +
|
| char *bfd_follow_gnu_debuglink (bfd *abfd, const char *dir);
|
|
|
| +char *bfd_follow_gnu_debugaltlink (bfd *abfd, const char *dir);
|
| +
|
| struct bfd_section *bfd_create_gnu_debuglink_section
|
| (bfd *abfd, const char *filename);
|
|
|
| @@ -1534,12 +1586,12 @@ typedef struct bfd_section
|
| } asection;
|
|
|
| /* Relax table contains information about instructions which can
|
| - be removed by relaxation -- replacing a long address with a
|
| + be removed by relaxation -- replacing a long address with a
|
| short address. */
|
| struct relax_table {
|
| /* Address where bytes may be deleted. */
|
| bfd_vma addr;
|
| -
|
| +
|
| /* Number of bytes to be deleted. */
|
| int size;
|
| };
|
| @@ -1547,7 +1599,7 @@ struct relax_table {
|
| /* These sections are global, and are managed by BFD. The application
|
| and target back end are not permitted to change the values in
|
| these sections. */
|
| -extern asection std_section[4];
|
| +extern asection _bfd_std_section[4];
|
|
|
| #define BFD_ABS_SECTION_NAME "*ABS*"
|
| #define BFD_UND_SECTION_NAME "*UND*"
|
| @@ -1555,13 +1607,13 @@ extern asection std_section[4];
|
| #define BFD_IND_SECTION_NAME "*IND*"
|
|
|
| /* Pointer to the common section. */
|
| -#define bfd_com_section_ptr (&std_section[0])
|
| +#define bfd_com_section_ptr (&_bfd_std_section[0])
|
| /* Pointer to the undefined section. */
|
| -#define bfd_und_section_ptr (&std_section[1])
|
| +#define bfd_und_section_ptr (&_bfd_std_section[1])
|
| /* Pointer to the absolute section. */
|
| -#define bfd_abs_section_ptr (&std_section[2])
|
| +#define bfd_abs_section_ptr (&_bfd_std_section[2])
|
| /* Pointer to the indirect section. */
|
| -#define bfd_ind_section_ptr (&std_section[3])
|
| +#define bfd_ind_section_ptr (&_bfd_std_section[3])
|
|
|
| #define bfd_is_und_section(sec) ((sec) == bfd_und_section_ptr)
|
| #define bfd_is_abs_section(sec) ((sec) == bfd_abs_section_ptr)
|
| @@ -1848,7 +1900,7 @@ enum bfd_architecture
|
| #define bfd_mach_sparc_64bit_p(mach) \
|
| ((mach) >= bfd_mach_sparc_v9 && (mach) != bfd_mach_sparc_v8plusb)
|
| bfd_arch_spu, /* PowerPC SPU */
|
| -#define bfd_mach_spu 256
|
| +#define bfd_mach_spu 256
|
| bfd_arch_mips, /* MIPS Rxxxx */
|
| #define bfd_mach_mips3000 3000
|
| #define bfd_mach_mips3900 3900
|
| @@ -1864,6 +1916,7 @@ enum bfd_architecture
|
| #define bfd_mach_mips5000 5000
|
| #define bfd_mach_mips5400 5400
|
| #define bfd_mach_mips5500 5500
|
| +#define bfd_mach_mips5900 5900
|
| #define bfd_mach_mips6000 6000
|
| #define bfd_mach_mips7000 7000
|
| #define bfd_mach_mips8000 8000
|
| @@ -1902,6 +1955,10 @@ enum bfd_architecture
|
| bfd_arch_k1om, /* Intel K1OM */
|
| #define bfd_mach_k1om (1 << 6)
|
| #define bfd_mach_k1om_intel_syntax (bfd_mach_k1om | bfd_mach_i386_intel_syntax)
|
| +#define bfd_mach_i386_nacl (1 << 7)
|
| +#define bfd_mach_i386_i386_nacl (bfd_mach_i386_i386 | bfd_mach_i386_nacl)
|
| +#define bfd_mach_x86_64_nacl (bfd_mach_x86_64 | bfd_mach_i386_nacl)
|
| +#define bfd_mach_x64_32_nacl (bfd_mach_x64_32 | bfd_mach_i386_nacl)
|
| bfd_arch_we32k, /* AT&T WE32xxx */
|
| bfd_arch_tahoe, /* CCI/Harris Tahoe */
|
| bfd_arch_i860, /* Intel 860 */
|
| @@ -2026,11 +2083,13 @@ enum bfd_architecture
|
| bfd_arch_tic6x, /* Texas Instruments TMS320C6X */
|
| bfd_arch_tic80, /* TI TMS320c80 (MVP) */
|
| bfd_arch_v850, /* NEC V850 */
|
| + bfd_arch_v850_rh850,/* NEC V850 (using RH850 ABI) */
|
| #define bfd_mach_v850 1
|
| #define bfd_mach_v850e 'E'
|
| #define bfd_mach_v850e1 '1'
|
| #define bfd_mach_v850e2 0x4532
|
| #define bfd_mach_v850e2v3 0x45325633
|
| +#define bfd_mach_v850e3v5 0x45335635 /* ('E'|'3'|'V'|'5') */
|
| bfd_arch_arc, /* ARC Cores */
|
| #define bfd_mach_arc_5 5
|
| #define bfd_mach_arc_6 6
|
| @@ -2066,6 +2125,8 @@ enum bfd_architecture
|
| #define bfd_mach_mep 1
|
| #define bfd_mach_mep_h1 0x6831
|
| #define bfd_mach_mep_c5 0x6335
|
| + bfd_arch_metag,
|
| +#define bfd_mach_metag 1
|
| bfd_arch_ia64, /* HP/Intel ia64 */
|
| #define bfd_mach_ia64_elf64 64
|
| #define bfd_mach_ia64_elf32 32
|
| @@ -2120,7 +2181,7 @@ enum bfd_architecture
|
| bfd_arch_s390, /* IBM s390 */
|
| #define bfd_mach_s390_31 31
|
| #define bfd_mach_s390_64 64
|
| - bfd_arch_score, /* Sunplus score */
|
| + bfd_arch_score, /* Sunplus score */
|
| #define bfd_mach_score3 3
|
| #define bfd_mach_score7 7
|
| bfd_arch_openrisc, /* OpenRISC */
|
| @@ -2135,7 +2196,12 @@ enum bfd_architecture
|
| #define bfd_mach_msp14 14
|
| #define bfd_mach_msp15 15
|
| #define bfd_mach_msp16 16
|
| +#define bfd_mach_msp20 20
|
| #define bfd_mach_msp21 21
|
| +#define bfd_mach_msp22 22
|
| +#define bfd_mach_msp23 23
|
| +#define bfd_mach_msp24 24
|
| +#define bfd_mach_msp26 26
|
| #define bfd_mach_msp31 31
|
| #define bfd_mach_msp32 32
|
| #define bfd_mach_msp33 33
|
| @@ -2143,6 +2209,10 @@ enum bfd_architecture
|
| #define bfd_mach_msp42 42
|
| #define bfd_mach_msp43 43
|
| #define bfd_mach_msp44 44
|
| +#define bfd_mach_msp430x 45
|
| +#define bfd_mach_msp46 46
|
| +#define bfd_mach_msp47 47
|
| +#define bfd_mach_msp54 54
|
| bfd_arch_xc16x, /* Infineon's XC16X Series. */
|
| #define bfd_mach_xc16x 1
|
| #define bfd_mach_xc16xl 2
|
| @@ -2164,6 +2234,11 @@ enum bfd_architecture
|
| #define bfd_mach_tilepro 1
|
| #define bfd_mach_tilegx 1
|
| #define bfd_mach_tilegx32 2
|
| + bfd_arch_aarch64, /* AArch64 */
|
| +#define bfd_mach_aarch64 0
|
| +#define bfd_mach_aarch64_ilp32 32
|
| + bfd_arch_nios2,
|
| +#define bfd_mach_nios2 0
|
| bfd_arch_last
|
| };
|
|
|
| @@ -2489,6 +2564,10 @@ The 24-bit relocation is used in some Intel 960 configurations. */
|
| BFD_RELOC_HI16_S_PLTOFF,
|
| BFD_RELOC_8_PLTOFF,
|
|
|
| +/* Size relocations. */
|
| + BFD_RELOC_SIZE32,
|
| + BFD_RELOC_SIZE64,
|
| +
|
| /* Relocations used by 68K ELF. */
|
| BFD_RELOC_68K_GLOB_DAT,
|
| BFD_RELOC_68K_JMP_SLOT,
|
| @@ -2881,6 +2960,7 @@ to compensate for the borrow when the low bits are added. */
|
| BFD_RELOC_MICROMIPS_TLS_TPREL_HI16,
|
| BFD_RELOC_MIPS_TLS_TPREL_LO16,
|
| BFD_RELOC_MICROMIPS_TLS_TPREL_LO16,
|
| + BFD_RELOC_MIPS_EH,
|
|
|
|
|
| /* MIPS ELF relocations (VxWorks and PLT extensions). */
|
| @@ -3045,6 +3125,8 @@ instruction. */
|
| 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,
|
|
|
| /* ns32k relocations */
|
| BFD_RELOC_NS32K_IMM_8,
|
| @@ -3143,6 +3225,8 @@ instruction. */
|
| 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,
|
|
|
| /* PowerPC and PowerPC64 thread-local storage relocations. */
|
| BFD_RELOC_PPC_TLS,
|
| @@ -3187,6 +3271,10 @@ instruction. */
|
| 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,
|
|
|
| /* IBM 370/390 relocations */
|
| BFD_RELOC_I370_D12,
|
| @@ -3964,6 +4052,46 @@ short offset into 11 bits. */
|
| BFD_RELOC_MEP_GNU_VTENTRY,
|
|
|
|
|
| +/* Imagination Technologies Meta relocations. */
|
| + 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,
|
| +
|
| /* These are relocations for the GETA instruction. */
|
| BFD_RELOC_MMIX_GETA,
|
| BFD_RELOC_MMIX_GETA_1,
|
| @@ -4063,7 +4191,7 @@ of 32 bit value) into 8 bit immediate value of LDI insn. */
|
| command address) into 8 bit immediate value of LDI insn. */
|
| BFD_RELOC_AVR_LO8_LDI_PM,
|
|
|
| -/* This is a 16 bit reloc for the AVR that stores 8 bit value
|
| +/* This is a 16 bit reloc for the AVR that stores 8 bit value
|
| (command address) into 8 bit immediate value of LDI insn. If the address
|
| is beyond the 128k boundary, the linker inserts a jump stub for this reloc
|
| in the lower 128k. */
|
| @@ -4158,6 +4286,7 @@ in .byte hlo8(symbol) */
|
| BFD_RELOC_RL78_HI16,
|
| BFD_RELOC_RL78_HI8,
|
| BFD_RELOC_RL78_LO16,
|
| + BFD_RELOC_RL78_CODE,
|
|
|
| /* Renesas RX Relocations. */
|
| BFD_RELOC_RX_NEG8,
|
| @@ -4215,12 +4344,24 @@ in .byte hlo8(symbol) */
|
| /* 16 bit GOT offset. */
|
| BFD_RELOC_390_GOT16,
|
|
|
| +/* PC relative 12 bit shifted by 1. */
|
| + BFD_RELOC_390_PC12DBL,
|
| +
|
| +/* 12 bit PC rel. PLT shifted by 1. */
|
| + BFD_RELOC_390_PLT12DBL,
|
| +
|
| /* PC relative 16 bit shifted by 1. */
|
| BFD_RELOC_390_PC16DBL,
|
|
|
| /* 16 bit PC rel. PLT shifted by 1. */
|
| BFD_RELOC_390_PLT16DBL,
|
|
|
| +/* PC relative 24 bit shifted by 1. */
|
| + BFD_RELOC_390_PC24DBL,
|
| +
|
| +/* 24 bit PC rel. PLT shifted by 1. */
|
| + BFD_RELOC_390_PLT24DBL,
|
| +
|
| /* PC relative 32 bit shifted by 1. */
|
| BFD_RELOC_390_PC32DBL,
|
|
|
| @@ -4293,6 +4434,8 @@ in .byte hlo8(symbol) */
|
| BFD_RELOC_390_GOT20,
|
| BFD_RELOC_390_GOTPLT20,
|
| BFD_RELOC_390_TLS_GOTIE20,
|
| +
|
| +/* STT_GNU_IFUNC relocation. */
|
| BFD_RELOC_390_IRELATIVE,
|
|
|
| /* Score relocations
|
| @@ -4783,6 +4926,7 @@ a matching LO8XG part. */
|
| BFD_RELOC_H8_DIR24A8,
|
| BFD_RELOC_H8_DIR24R8,
|
| BFD_RELOC_H8_DIR32A16,
|
| + BFD_RELOC_H8_DISP32A16,
|
|
|
| /* Sony Xstormy16 Relocations. */
|
| BFD_RELOC_XSTORMY16_REL_12,
|
| @@ -4831,6 +4975,57 @@ a matching LO8XG part. */
|
| 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,
|
| +
|
| +/* Relocations used by the Altera Nios II core. */
|
| + 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,
|
|
|
| /* IQ2000 Relocations. */
|
| BFD_RELOC_IQ2000_OFFSET_16,
|
| @@ -4985,52 +5180,52 @@ the linker could optimize the movq to a leaq if possible. */
|
| /* Same as BFD_RELOC_32_PCREL but with an implicit -4 addend. */
|
| BFD_RELOC_MACH_O_X86_64_PCREL32_4,
|
|
|
| -/* This is a 32 bit reloc for the microblaze that stores the
|
| +/* This is a 32 bit reloc for the microblaze that stores the
|
| low 16 bits of a value */
|
| BFD_RELOC_MICROBLAZE_32_LO,
|
|
|
| -/* This is a 32 bit pc-relative reloc for the microblaze that
|
| +/* This is a 32 bit pc-relative reloc for the microblaze that
|
| stores the low 16 bits of a value */
|
| BFD_RELOC_MICROBLAZE_32_LO_PCREL,
|
|
|
| -/* This is a 32 bit reloc for the microblaze that stores a
|
| +/* This is a 32 bit reloc for the microblaze that stores a
|
| value relative to the read-only small data area anchor */
|
| BFD_RELOC_MICROBLAZE_32_ROSDA,
|
|
|
| -/* This is a 32 bit reloc for the microblaze that stores a
|
| +/* This is a 32 bit reloc for the microblaze that stores a
|
| value relative to the read-write small data area anchor */
|
| BFD_RELOC_MICROBLAZE_32_RWSDA,
|
|
|
| -/* This is a 32 bit reloc for the microblaze to handle
|
| +/* This is a 32 bit reloc for the microblaze to handle
|
| expressions of the form "Symbol Op Symbol" */
|
| BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM,
|
|
|
| -/* This is a 64 bit reloc that stores the 32 bit pc relative
|
| -value in two words (with an imm instruction). No relocation is
|
| +/* This is a 64 bit reloc that stores the 32 bit pc relative
|
| +value in two words (with an imm instruction). No relocation is
|
| done here - only used for relaxing */
|
| BFD_RELOC_MICROBLAZE_64_NONE,
|
|
|
| -/* This is a 64 bit reloc that stores the 32 bit pc relative
|
| +/* This is a 64 bit reloc that stores the 32 bit pc relative
|
| value in two words (with an imm instruction). The relocation is
|
| PC-relative GOT offset */
|
| BFD_RELOC_MICROBLAZE_64_GOTPC,
|
|
|
| -/* This is a 64 bit reloc that stores the 32 bit pc relative
|
| +/* This is a 64 bit reloc that stores the 32 bit pc relative
|
| value in two words (with an imm instruction). The relocation is
|
| GOT offset */
|
| BFD_RELOC_MICROBLAZE_64_GOT,
|
|
|
| -/* This is a 64 bit reloc that stores the 32 bit pc relative
|
| +/* This is a 64 bit reloc that stores the 32 bit pc relative
|
| value in two words (with an imm instruction). The relocation is
|
| PC-relative offset into PLT */
|
| BFD_RELOC_MICROBLAZE_64_PLT,
|
|
|
| -/* This is a 64 bit reloc that stores the 32 bit GOT relative
|
| +/* This is a 64 bit reloc that stores the 32 bit GOT relative
|
| value in two words (with an imm instruction). The relocation is
|
| relative offset from _GLOBAL_OFFSET_TABLE_ */
|
| BFD_RELOC_MICROBLAZE_64_GOTOFF,
|
|
|
| -/* This is a 32 bit reloc that stores the 32 bit GOT relative
|
| +/* This is a 32 bit reloc that stores the 32 bit GOT relative
|
| value in a word. The relocation is relative offset from */
|
| BFD_RELOC_MICROBLAZE_32_GOTOFF,
|
|
|
| @@ -5038,6 +5233,325 @@ value in a word. The relocation is relative offset from */
|
| the dynamic object into the runtime process image. */
|
| BFD_RELOC_MICROBLAZE_COPY,
|
|
|
| +/* Unused Reloc */
|
| + BFD_RELOC_MICROBLAZE_64_TLS,
|
| +
|
| +/* This is a 64 bit reloc that stores the 32 bit GOT relative value
|
| +of the GOT TLS GD info entry in two words (with an imm instruction). The
|
| +relocation is GOT offset. */
|
| + BFD_RELOC_MICROBLAZE_64_TLSGD,
|
| +
|
| +/* This is a 64 bit reloc that stores the 32 bit GOT relative value
|
| +of the GOT TLS LD info entry in two words (with an imm instruction). The
|
| +relocation is GOT offset. */
|
| + BFD_RELOC_MICROBLAZE_64_TLSLD,
|
| +
|
| +/* This is a 32 bit reloc that stores the Module ID to GOT(n). */
|
| + BFD_RELOC_MICROBLAZE_32_TLSDTPMOD,
|
| +
|
| +/* This is a 32 bit reloc that stores TLS offset to GOT(n+1). */
|
| + BFD_RELOC_MICROBLAZE_32_TLSDTPREL,
|
| +
|
| +/* This is a 32 bit reloc for storing TLS offset to two words (uses imm
|
| +instruction) */
|
| + BFD_RELOC_MICROBLAZE_64_TLSDTPREL,
|
| +
|
| +/* This is a 64 bit reloc that stores 32-bit thread pointer relative offset
|
| +to two words (uses imm instruction). */
|
| + BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL,
|
| +
|
| +/* This is a 64 bit reloc that stores 32-bit thread pointer relative offset
|
| +to two words (uses imm instruction). */
|
| + BFD_RELOC_MICROBLAZE_64_TLSTPREL,
|
| +
|
| +/* AArch64 pseudo relocation code to mark the start of the AArch64
|
| +relocation enumerators. N.B. the order of the enumerators is
|
| +important as several tables in the AArch64 bfd backend are indexed
|
| +by these enumerators; make sure they are all synced. */
|
| + BFD_RELOC_AARCH64_RELOC_START,
|
| +
|
| +/* AArch64 null relocation code. */
|
| + BFD_RELOC_AARCH64_NONE,
|
| +
|
| +/* Basic absolute relocations of N bits. These are equivalent to
|
| +BFD_RELOC_N and they were added to assist the indexing of the howto
|
| +table. */
|
| + BFD_RELOC_AARCH64_64,
|
| + BFD_RELOC_AARCH64_32,
|
| + BFD_RELOC_AARCH64_16,
|
| +
|
| +/* PC-relative relocations. These are equivalent to BFD_RELOC_N_PCREL
|
| +and they were added to assist the indexing of the howto table. */
|
| + BFD_RELOC_AARCH64_64_PCREL,
|
| + BFD_RELOC_AARCH64_32_PCREL,
|
| + BFD_RELOC_AARCH64_16_PCREL,
|
| +
|
| +/* AArch64 MOV[NZK] instruction with most significant bits 0 to 15
|
| +of an unsigned address/value. */
|
| + BFD_RELOC_AARCH64_MOVW_G0,
|
| +
|
| +/* AArch64 MOV[NZK] instruction with less significant bits 0 to 15 of
|
| +an address/value. No overflow checking. */
|
| + BFD_RELOC_AARCH64_MOVW_G0_NC,
|
| +
|
| +/* AArch64 MOV[NZK] instruction with most significant bits 16 to 31
|
| +of an unsigned address/value. */
|
| + BFD_RELOC_AARCH64_MOVW_G1,
|
| +
|
| +/* AArch64 MOV[NZK] instruction with less significant bits 16 to 31
|
| +of an address/value. No overflow checking. */
|
| + BFD_RELOC_AARCH64_MOVW_G1_NC,
|
| +
|
| +/* AArch64 MOV[NZK] instruction with most significant bits 32 to 47
|
| +of an unsigned address/value. */
|
| + BFD_RELOC_AARCH64_MOVW_G2,
|
| +
|
| +/* AArch64 MOV[NZK] instruction with less significant bits 32 to 47
|
| +of an address/value. No overflow checking. */
|
| + BFD_RELOC_AARCH64_MOVW_G2_NC,
|
| +
|
| +/* AArch64 MOV[NZK] instruction with most signficant bits 48 to 64
|
| +of a signed or unsigned address/value. */
|
| + BFD_RELOC_AARCH64_MOVW_G3,
|
| +
|
| +/* AArch64 MOV[NZ] instruction with most significant bits 0 to 15
|
| +of a signed value. Changes instruction to MOVZ or MOVN depending on the
|
| +value's sign. */
|
| + BFD_RELOC_AARCH64_MOVW_G0_S,
|
| +
|
| +/* AArch64 MOV[NZ] instruction with most significant bits 16 to 31
|
| +of a signed value. Changes instruction to MOVZ or MOVN depending on the
|
| +value's sign. */
|
| + BFD_RELOC_AARCH64_MOVW_G1_S,
|
| +
|
| +/* AArch64 MOV[NZ] instruction with most significant bits 32 to 47
|
| +of a signed value. Changes instruction to MOVZ or MOVN depending on the
|
| +value's sign. */
|
| + BFD_RELOC_AARCH64_MOVW_G2_S,
|
| +
|
| +/* AArch64 Load Literal instruction, holding a 19 bit pc-relative word
|
| +offset. The lowest two bits must be zero and are not stored in the
|
| +instruction, giving a 21 bit signed byte offset. */
|
| + BFD_RELOC_AARCH64_LD_LO19_PCREL,
|
| +
|
| +/* AArch64 ADR instruction, holding a simple 21 bit pc-relative byte offset. */
|
| + BFD_RELOC_AARCH64_ADR_LO21_PCREL,
|
| +
|
| +/* AArch64 ADRP instruction, with bits 12 to 32 of a pc-relative page
|
| +offset, giving a 4KB aligned page base address. */
|
| + BFD_RELOC_AARCH64_ADR_HI21_PCREL,
|
| +
|
| +/* AArch64 ADRP instruction, with bits 12 to 32 of a pc-relative page
|
| +offset, giving a 4KB aligned page base address, but with no overflow
|
| +checking. */
|
| + BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL,
|
| +
|
| +/* AArch64 ADD immediate instruction, holding bits 0 to 11 of the address.
|
| +Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. */
|
| + BFD_RELOC_AARCH64_ADD_LO12,
|
| +
|
| +/* AArch64 8-bit load/store instruction, holding bits 0 to 11 of the
|
| +address. Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. */
|
| + BFD_RELOC_AARCH64_LDST8_LO12,
|
| +
|
| +/* AArch64 14 bit pc-relative test bit and branch.
|
| +The lowest two bits must be zero and are not stored in the instruction,
|
| +giving a 16 bit signed byte offset. */
|
| + BFD_RELOC_AARCH64_TSTBR14,
|
| +
|
| +/* AArch64 19 bit pc-relative conditional branch and compare & branch.
|
| +The lowest two bits must be zero and are not stored in the instruction,
|
| +giving a 21 bit signed byte offset. */
|
| + BFD_RELOC_AARCH64_BRANCH19,
|
| +
|
| +/* AArch64 26 bit pc-relative unconditional branch.
|
| +The lowest two bits must be zero and are not stored in the instruction,
|
| +giving a 28 bit signed byte offset. */
|
| + BFD_RELOC_AARCH64_JUMP26,
|
| +
|
| +/* AArch64 26 bit pc-relative unconditional branch and link.
|
| +The lowest two bits must be zero and are not stored in the instruction,
|
| +giving a 28 bit signed byte offset. */
|
| + BFD_RELOC_AARCH64_CALL26,
|
| +
|
| +/* AArch64 16-bit load/store instruction, holding bits 0 to 11 of the
|
| +address. Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. */
|
| + BFD_RELOC_AARCH64_LDST16_LO12,
|
| +
|
| +/* AArch64 32-bit load/store instruction, holding bits 0 to 11 of the
|
| +address. Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. */
|
| + BFD_RELOC_AARCH64_LDST32_LO12,
|
| +
|
| +/* AArch64 64-bit load/store instruction, holding bits 0 to 11 of the
|
| +address. Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. */
|
| + BFD_RELOC_AARCH64_LDST64_LO12,
|
| +
|
| +/* AArch64 128-bit load/store instruction, holding bits 0 to 11 of the
|
| +address. Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. */
|
| + BFD_RELOC_AARCH64_LDST128_LO12,
|
| +
|
| +/* AArch64 Load Literal instruction, holding a 19 bit PC relative word
|
| +offset of the global offset table entry for a symbol. The lowest two
|
| +bits must be zero and are not stored in the instruction, giving a 21
|
| +bit signed byte offset. This relocation type requires signed overflow
|
| +checking. */
|
| + BFD_RELOC_AARCH64_GOT_LD_PREL19,
|
| +
|
| +/* Get to the page base of the global offset table entry for a symbol as
|
| +part of an ADRP instruction using a 21 bit PC relative value.Used in
|
| +conjunction with BFD_RELOC_AARCH64_LD64_GOT_LO12_NC. */
|
| + BFD_RELOC_AARCH64_ADR_GOT_PAGE,
|
| +
|
| +/* Unsigned 12 bit byte offset for 64 bit load/store from the page of
|
| +the GOT entry for this symbol. Used in conjunction with
|
| +BFD_RELOC_AARCH64_ADR_GOTPAGE. Valid in LP64 ABI only. */
|
| + BFD_RELOC_AARCH64_LD64_GOT_LO12_NC,
|
| +
|
| +/* Unsigned 12 bit byte offset for 32 bit load/store from the page of
|
| +the GOT entry for this symbol. Used in conjunction with
|
| +BFD_RELOC_AARCH64_ADR_GOTPAGE. Valid in ILP32 ABI only. */
|
| + BFD_RELOC_AARCH64_LD32_GOT_LO12_NC,
|
| +
|
| +/* Get to the page base of the global offset table entry for a symbols
|
| +tls_index structure as part of an adrp instruction using a 21 bit PC
|
| +relative value. Used in conjunction with
|
| +BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC. */
|
| + BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21,
|
| +
|
| +/* Unsigned 12 bit byte offset to global offset table entry for a symbols
|
| +tls_index structure. Used in conjunction with
|
| +BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21. */
|
| + BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC,
|
| +
|
| +/* AArch64 TLS INITIAL EXEC relocation. */
|
| + BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G1,
|
| +
|
| +/* AArch64 TLS INITIAL EXEC relocation. */
|
| + BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC,
|
| +
|
| +/* AArch64 TLS INITIAL EXEC relocation. */
|
| + BFD_RELOC_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21,
|
| +
|
| +/* AArch64 TLS INITIAL EXEC relocation. */
|
| + BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC,
|
| +
|
| +/* AArch64 TLS INITIAL EXEC relocation. */
|
| + BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC,
|
| +
|
| +/* AArch64 TLS INITIAL EXEC relocation. */
|
| + BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19,
|
| +
|
| +/* AArch64 TLS LOCAL EXEC relocation. */
|
| + BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2,
|
| +
|
| +/* AArch64 TLS LOCAL EXEC relocation. */
|
| + BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1,
|
| +
|
| +/* AArch64 TLS LOCAL EXEC relocation. */
|
| + BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC,
|
| +
|
| +/* AArch64 TLS LOCAL EXEC relocation. */
|
| + BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0,
|
| +
|
| +/* AArch64 TLS LOCAL EXEC relocation. */
|
| + BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC,
|
| +
|
| +/* AArch64 TLS LOCAL EXEC relocation. */
|
| + BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_HI12,
|
| +
|
| +/* AArch64 TLS LOCAL EXEC relocation. */
|
| + BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12,
|
| +
|
| +/* AArch64 TLS LOCAL EXEC relocation. */
|
| + BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC,
|
| +
|
| +/* AArch64 TLS DESC relocation. */
|
| + BFD_RELOC_AARCH64_TLSDESC_LD_PREL19,
|
| +
|
| +/* AArch64 TLS DESC relocation. */
|
| + BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21,
|
| +
|
| +/* AArch64 TLS DESC relocation. */
|
| + BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21,
|
| +
|
| +/* AArch64 TLS DESC relocation. */
|
| + BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC,
|
| +
|
| +/* AArch64 TLS DESC relocation. */
|
| + BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC,
|
| +
|
| +/* AArch64 TLS DESC relocation. */
|
| + BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC,
|
| +
|
| +/* AArch64 TLS DESC relocation. */
|
| + BFD_RELOC_AARCH64_TLSDESC_OFF_G1,
|
| +
|
| +/* AArch64 TLS DESC relocation. */
|
| + BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC,
|
| +
|
| +/* AArch64 TLS DESC relocation. */
|
| + BFD_RELOC_AARCH64_TLSDESC_LDR,
|
| +
|
| +/* AArch64 TLS DESC relocation. */
|
| + BFD_RELOC_AARCH64_TLSDESC_ADD,
|
| +
|
| +/* AArch64 TLS DESC relocation. */
|
| + BFD_RELOC_AARCH64_TLSDESC_CALL,
|
| +
|
| +/* AArch64 TLS relocation. */
|
| + BFD_RELOC_AARCH64_COPY,
|
| +
|
| +/* AArch64 TLS relocation. */
|
| + BFD_RELOC_AARCH64_GLOB_DAT,
|
| +
|
| +/* AArch64 TLS relocation. */
|
| + BFD_RELOC_AARCH64_JUMP_SLOT,
|
| +
|
| +/* AArch64 TLS relocation. */
|
| + BFD_RELOC_AARCH64_RELATIVE,
|
| +
|
| +/* AArch64 TLS relocation. */
|
| + BFD_RELOC_AARCH64_TLS_DTPMOD,
|
| +
|
| +/* AArch64 TLS relocation. */
|
| + BFD_RELOC_AARCH64_TLS_DTPREL,
|
| +
|
| +/* AArch64 TLS relocation. */
|
| + BFD_RELOC_AARCH64_TLS_TPREL,
|
| +
|
| +/* AArch64 TLS relocation. */
|
| + BFD_RELOC_AARCH64_TLSDESC,
|
| +
|
| +/* AArch64 support for STT_GNU_IFUNC. */
|
| + BFD_RELOC_AARCH64_IRELATIVE,
|
| +
|
| +/* AArch64 pseudo relocation code to mark the end of the AArch64
|
| +relocation enumerators that have direct mapping to ELF reloc codes.
|
| +There are a few more enumerators after this one; those are mainly
|
| +used by the AArch64 assembler for the internal fixup or to select
|
| +one of the above enumerators. */
|
| + BFD_RELOC_AARCH64_RELOC_END,
|
| +
|
| +/* AArch64 pseudo relocation code to be used internally by the AArch64
|
| +assembler and not (currently) written to any object files. */
|
| + BFD_RELOC_AARCH64_GAS_INTERNAL_FIXUP,
|
| +
|
| +/* AArch64 unspecified load/store instruction, holding bits 0 to 11 of the
|
| +address. Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. */
|
| + BFD_RELOC_AARCH64_LDST_LO12,
|
| +
|
| +/* AArch64 pseudo relocation code to be used internally by the AArch64
|
| +assembler and not (currently) written to any object files. */
|
| + BFD_RELOC_AARCH64_LD_GOT_LO12_NC,
|
| +
|
| +/* AArch64 pseudo relocation code to be used internally by the AArch64
|
| +assembler and not (currently) written to any object files. */
|
| + BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC,
|
| +
|
| +/* AArch64 pseudo relocation code to be used internally by the AArch64
|
| +assembler and not (currently) written to any object files. */
|
| + BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC,
|
| +
|
| /* Tilera TILEPro Relocations. */
|
| BFD_RELOC_TILEPRO_COPY,
|
| BFD_RELOC_TILEPRO_GLOB_DAT,
|
| @@ -5177,10 +5691,18 @@ the dynamic object into the runtime process image. */
|
| 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,
|
| @@ -5195,6 +5717,12 @@ the dynamic object into the runtime process image. */
|
| 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,
|
| @@ -5722,6 +6250,7 @@ typedef enum bfd_error
|
| bfd_error_no_armap,
|
| bfd_error_no_more_archived_files,
|
| bfd_error_malformed_archive,
|
| + bfd_error_missing_dso,
|
| bfd_error_file_not_recognized,
|
| bfd_error_file_ambiguously_recognized,
|
| bfd_error_no_contents,
|
| @@ -5808,6 +6337,11 @@ bfd_boolean bfd_set_private_flags (bfd *abfd, flagword flags);
|
| BFD_SEND (abfd, _bfd_find_nearest_line, \
|
| (abfd, sec, syms, off, file, func, line))
|
|
|
| +#define bfd_find_nearest_line_discriminator(abfd, sec, syms, off, file, func, \
|
| + line, disc) \
|
| + BFD_SEND (abfd, _bfd_find_nearest_line_discriminator, \
|
| + (abfd, sec, syms, off, file, func, line, disc))
|
| +
|
| #define bfd_find_line(abfd, syms, sym, file, line) \
|
| BFD_SEND (abfd, _bfd_find_line, \
|
| (abfd, syms, sym, file, line))
|
| @@ -5895,24 +6429,6 @@ extern bfd_byte *bfd_get_relocated_section_contents
|
|
|
| bfd_boolean bfd_alt_mach_code (bfd *abfd, int alternative);
|
|
|
| -struct bfd_preserve
|
| -{
|
| - void *marker;
|
| - void *tdata;
|
| - flagword flags;
|
| - const struct bfd_arch_info *arch_info;
|
| - struct bfd_section *sections;
|
| - struct bfd_section *section_last;
|
| - unsigned int section_count;
|
| - struct bfd_hash_table section_htab;
|
| -};
|
| -
|
| -bfd_boolean bfd_preserve_save (bfd *, struct bfd_preserve *);
|
| -
|
| -void bfd_preserve_restore (bfd *, struct bfd_preserve *);
|
| -
|
| -void bfd_preserve_finish (bfd *, struct bfd_preserve *);
|
| -
|
| bfd_vma bfd_emul_get_maxpagesize (const char *);
|
|
|
| void bfd_emul_set_maxpagesize (const char *, bfd_vma);
|
| @@ -6189,6 +6705,7 @@ typedef struct bfd_target
|
| NAME##_bfd_is_target_special_symbol, \
|
| NAME##_get_lineno, \
|
| NAME##_find_nearest_line, \
|
| + _bfd_generic_find_nearest_line_discriminator, \
|
| _bfd_generic_find_line, \
|
| NAME##_find_inliner_info, \
|
| NAME##_bfd_make_debug_symbol, \
|
| @@ -6212,6 +6729,9 @@ typedef struct bfd_target
|
| bfd_boolean (*_bfd_find_nearest_line)
|
| (bfd *, struct bfd_section *, struct bfd_symbol **, bfd_vma,
|
| const char **, const char **, unsigned int *);
|
| + bfd_boolean (*_bfd_find_nearest_line_discriminator)
|
| + (bfd *, struct bfd_section *, struct bfd_symbol **, bfd_vma,
|
| + const char **, const char **, unsigned int *, unsigned int *);
|
| bfd_boolean (*_bfd_find_line)
|
| (bfd *, struct bfd_symbol **, struct bfd_symbol *,
|
| const char **, unsigned int *);
|
| @@ -6435,6 +6955,9 @@ bfd_boolean bfd_compress_section_contents
|
| bfd_boolean bfd_get_full_section_contents
|
| (bfd *abfd, asection *section, bfd_byte **ptr);
|
|
|
| +void bfd_cache_section_contents
|
| + (asection *sec, void *contents);
|
| +
|
| bfd_boolean bfd_is_section_compressed
|
| (bfd *abfd, asection *section);
|
|
|
|
|