| 73 |
#define LITSTRCPY(DEST,STR2) memcpy ((DEST), (STR2), sizeof (STR2)) |
#define LITSTRCPY(DEST,STR2) memcpy ((DEST), (STR2), sizeof (STR2)) |
| 74 |
|
|
| 75 |
|
|
| 76 |
|
#define BFD_SUPPORTS_PLUGINS @supports_plugins@ |
| 77 |
|
|
| 78 |
/* The word size used by BFD on the host. This may be 64 with a 32 |
/* The word size used by BFD on the host. This may be 64 with a 32 |
| 79 |
bit target if the host is 64 bit, or if other 64 bit targets have |
bit target if the host is 64 bit, or if other 64 bit targets have |
| 80 |
been selected with --enable-targets, or if --enable-64-bit-bfd. */ |
been selected with --enable-targets, or if --enable-64-bit-bfd. */ |
| 774 |
|
|
| 775 |
/* XCOFF support routines for the linker. */ |
/* XCOFF support routines for the linker. */ |
| 776 |
|
|
| 777 |
|
extern bfd_boolean bfd_xcoff_split_import_path |
| 778 |
|
(bfd *, const char *, const char **, const char **); |
| 779 |
|
extern bfd_boolean bfd_xcoff_set_archive_import_path |
| 780 |
|
(struct bfd_link_info *, bfd *, const char *); |
| 781 |
extern bfd_boolean bfd_xcoff_link_record_set |
extern bfd_boolean bfd_xcoff_link_record_set |
| 782 |
(bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_size_type); |
(bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_size_type); |
| 783 |
extern bfd_boolean bfd_xcoff_import_symbol |
extern bfd_boolean bfd_xcoff_import_symbol |
| 792 |
extern bfd_boolean bfd_xcoff_size_dynamic_sections |
extern bfd_boolean bfd_xcoff_size_dynamic_sections |
| 793 |
(bfd *, struct bfd_link_info *, const char *, const char *, |
(bfd *, struct bfd_link_info *, const char *, const char *, |
| 794 |
unsigned long, unsigned long, unsigned long, bfd_boolean, |
unsigned long, unsigned long, unsigned long, bfd_boolean, |
| 795 |
int, bfd_boolean, bfd_boolean, struct bfd_section **, bfd_boolean); |
int, bfd_boolean, unsigned int, struct bfd_section **, bfd_boolean); |
| 796 |
extern bfd_boolean bfd_xcoff_link_generate_rtinit |
extern bfd_boolean bfd_xcoff_link_generate_rtinit |
| 797 |
(bfd *, const char *, const char *, bfd_boolean); |
(bfd *, const char *, const char *, bfd_boolean); |
| 798 |
|
|
| 834 |
extern void bfd_elf32_arm_set_vfp11_fix |
extern void bfd_elf32_arm_set_vfp11_fix |
| 835 |
(bfd *, struct bfd_link_info *); |
(bfd *, struct bfd_link_info *); |
| 836 |
|
|
| 837 |
|
extern void bfd_elf32_arm_set_cortex_a8_fix |
| 838 |
|
(bfd *, struct bfd_link_info *); |
| 839 |
|
|
| 840 |
extern bfd_boolean bfd_elf32_arm_vfp11_erratum_scan |
extern bfd_boolean bfd_elf32_arm_vfp11_erratum_scan |
| 841 |
(bfd *, struct bfd_link_info *); |
(bfd *, struct bfd_link_info *); |
| 842 |
|
|
| 872 |
|
|
| 873 |
void bfd_elf32_arm_set_target_relocs |
void bfd_elf32_arm_set_target_relocs |
| 874 |
(bfd *, struct bfd_link_info *, int, char *, int, int, bfd_arm_vfp11_fix, |
(bfd *, struct bfd_link_info *, int, char *, int, int, bfd_arm_vfp11_fix, |
| 875 |
int, int, int); |
int, int, int, int); |
| 876 |
|
|
| 877 |
extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking |
extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking |
| 878 |
(bfd *, struct bfd_link_info *); |
(bfd *, struct bfd_link_info *); |
| 910 |
struct bfd_section * (*) (const char *, struct bfd_section *), void (*) (void)); |
struct bfd_section * (*) (const char *, struct bfd_section *), void (*) (void)); |
| 911 |
extern bfd_boolean elf32_arm_build_stubs |
extern bfd_boolean elf32_arm_build_stubs |
| 912 |
(struct bfd_link_info *); |
(struct bfd_link_info *); |
| 913 |
|
|
| 914 |
|
/* ARM unwind section editing support. */ |
| 915 |
|
extern bfd_boolean elf32_arm_fix_exidx_coverage |
| 916 |
|
(struct bfd_section **, unsigned int, struct bfd_link_info *); |
| 917 |
|
|
| 918 |
/* TI COFF load page support. */ |
/* TI COFF load page support. */ |
| 919 |
extern void bfd_ticoff_set_section_load_page |
extern void bfd_ticoff_set_section_load_page |
| 920 |
(struct bfd_section *, int); |
(struct bfd_section *, int); |
| 1122 |
|
|
| 1123 |
file_ptr bfd_get_size (bfd *abfd); |
file_ptr bfd_get_size (bfd *abfd); |
| 1124 |
|
|
| 1125 |
|
void *bfd_mmap (bfd *abfd, void *addr, bfd_size_type len, |
| 1126 |
|
int prot, int flags, file_ptr offset); |
| 1127 |
|
|
| 1128 |
/* Extracted from bfdwin.c. */ |
/* Extracted from bfdwin.c. */ |
| 1129 |
/* Extracted from section.c. */ |
/* Extracted from section.c. */ |
| 1130 |
typedef struct bfd_section |
typedef struct bfd_section |
| 1320 |
TMS320C54X only. */ |
TMS320C54X only. */ |
| 1321 |
#define SEC_TIC54X_CLINK 0x20000000 |
#define SEC_TIC54X_CLINK 0x20000000 |
| 1322 |
|
|
| 1323 |
|
/* Indicate that section has the no read flag set. This happens |
| 1324 |
|
when memory read flag isn't set. */ |
| 1325 |
|
#define SEC_COFF_NOREAD 0x40000000 |
| 1326 |
|
|
| 1327 |
/* End of section flags. */ |
/* End of section flags. */ |
| 1328 |
|
|
| 1329 |
/* Some internal packed boolean fields. */ |
/* Some internal packed boolean fields. */ |
| 1363 |
/* Nonzero if this section has TLS related relocations. */ |
/* Nonzero if this section has TLS related relocations. */ |
| 1364 |
unsigned int has_tls_reloc:1; |
unsigned int has_tls_reloc:1; |
| 1365 |
|
|
| 1366 |
|
/* Nonzero if this section has a call to __tls_get_addr. */ |
| 1367 |
|
unsigned int has_tls_get_addr_call:1; |
| 1368 |
|
|
| 1369 |
/* Nonzero if this section has a gp reloc. */ |
/* Nonzero if this section has a gp reloc. */ |
| 1370 |
unsigned int has_gp_reloc:1; |
unsigned int has_gp_reloc:1; |
| 1371 |
|
|
| 1626 |
/* segment_mark, sec_info_type, use_rela_p, has_tls_reloc, */ \ |
/* segment_mark, sec_info_type, use_rela_p, has_tls_reloc, */ \ |
| 1627 |
0, 0, 0, 0, \ |
0, 0, 0, 0, \ |
| 1628 |
\ |
\ |
| 1629 |
/* has_gp_reloc, need_finalize_relax, reloc_done, */ \ |
/* has_tls_get_addr_call, has_gp_reloc, need_finalize_relax, */ \ |
| 1630 |
0, 0, 0, \ |
0, 0, 0, \ |
| 1631 |
\ |
\ |
| 1632 |
/* vma, lma, size, rawsize */ \ |
/* reloc_done, vma, lma, size, rawsize */ \ |
| 1633 |
0, 0, 0, 0, \ |
0, 0, 0, 0, 0, \ |
| 1634 |
\ |
\ |
| 1635 |
/* output_offset, output_section, alignment_power, */ \ |
/* output_offset, output_section, alignment_power, */ \ |
| 1636 |
0, (struct bfd_section *) &SEC, 0, \ |
0, (struct bfd_section *) &SEC, 0, \ |
| 1824 |
#define bfd_mach_mips_loongson_2f 3002 |
#define bfd_mach_mips_loongson_2f 3002 |
| 1825 |
#define bfd_mach_mips_sb1 12310201 /* octal 'SB', 01 */ |
#define bfd_mach_mips_sb1 12310201 /* octal 'SB', 01 */ |
| 1826 |
#define bfd_mach_mips_octeon 6501 |
#define bfd_mach_mips_octeon 6501 |
| 1827 |
|
#define bfd_mach_mips_xlr 887682 /* decimal 'XLR' */ |
| 1828 |
#define bfd_mach_mipsisa32 32 |
#define bfd_mach_mipsisa32 32 |
| 1829 |
#define bfd_mach_mipsisa32r2 33 |
#define bfd_mach_mipsisa32r2 33 |
| 1830 |
#define bfd_mach_mipsisa64 64 |
#define bfd_mach_mipsisa64 64 |
| 1835 |
#define bfd_mach_i386_i386_intel_syntax 3 |
#define bfd_mach_i386_i386_intel_syntax 3 |
| 1836 |
#define bfd_mach_x86_64 64 |
#define bfd_mach_x86_64 64 |
| 1837 |
#define bfd_mach_x86_64_intel_syntax 65 |
#define bfd_mach_x86_64_intel_syntax 65 |
| 1838 |
|
bfd_arch_l1om, /* Intel L1OM */ |
| 1839 |
|
#define bfd_mach_l1om 66 |
| 1840 |
|
#define bfd_mach_l1om_intel_syntax 67 |
| 1841 |
bfd_arch_we32k, /* AT&T WE32xxx */ |
bfd_arch_we32k, /* AT&T WE32xxx */ |
| 1842 |
bfd_arch_tahoe, /* CCI/Harris Tahoe */ |
bfd_arch_tahoe, /* CCI/Harris Tahoe */ |
| 1843 |
bfd_arch_i860, /* Intel 860 */ |
bfd_arch_i860, /* Intel 860 */ |
| 1856 |
#define bfd_mach_h8300sx 6 |
#define bfd_mach_h8300sx 6 |
| 1857 |
#define bfd_mach_h8300sxn 7 |
#define bfd_mach_h8300sxn 7 |
| 1858 |
bfd_arch_pdp11, /* DEC PDP-11 */ |
bfd_arch_pdp11, /* DEC PDP-11 */ |
| 1859 |
|
bfd_arch_plugin, |
| 1860 |
bfd_arch_powerpc, /* PowerPC */ |
bfd_arch_powerpc, /* PowerPC */ |
| 1861 |
#define bfd_mach_ppc 32 |
#define bfd_mach_ppc 32 |
| 1862 |
#define bfd_mach_ppc64 64 |
#define bfd_mach_ppc64 64 |
| 1863 |
#define bfd_mach_ppc_403 403 |
#define bfd_mach_ppc_403 403 |
| 1864 |
#define bfd_mach_ppc_403gc 4030 |
#define bfd_mach_ppc_403gc 4030 |
| 1865 |
|
#define bfd_mach_ppc_405 405 |
| 1866 |
#define bfd_mach_ppc_505 505 |
#define bfd_mach_ppc_505 505 |
| 1867 |
#define bfd_mach_ppc_601 601 |
#define bfd_mach_ppc_601 601 |
| 1868 |
#define bfd_mach_ppc_602 602 |
#define bfd_mach_ppc_602 602 |
| 1985 |
#define bfd_mach_frvtomcat 499 /* fr500 prototype */ |
#define bfd_mach_frvtomcat 499 /* fr500 prototype */ |
| 1986 |
#define bfd_mach_fr500 500 |
#define bfd_mach_fr500 500 |
| 1987 |
#define bfd_mach_fr550 550 |
#define bfd_mach_fr550 550 |
| 1988 |
|
bfd_arch_moxie, /* The moxie processor */ |
| 1989 |
|
#define bfd_mach_moxie 1 |
| 1990 |
bfd_arch_mcore, |
bfd_arch_mcore, |
| 1991 |
bfd_arch_mep, |
bfd_arch_mep, |
| 1992 |
#define bfd_mach_mep 1 |
#define bfd_mach_mep 1 |
| 1993 |
#define bfd_mach_mep_h1 0x6831 |
#define bfd_mach_mep_h1 0x6831 |
| 1994 |
|
#define bfd_mach_mep_c5 0x6335 |
| 1995 |
bfd_arch_ia64, /* HP/Intel ia64 */ |
bfd_arch_ia64, /* HP/Intel ia64 */ |
| 1996 |
#define bfd_mach_ia64_elf64 64 |
#define bfd_mach_ia64_elf64 64 |
| 1997 |
#define bfd_mach_ia64_elf32 32 |
#define bfd_mach_ia64_elf32 32 |
| 2033 |
#define bfd_mach_s390_31 31 |
#define bfd_mach_s390_31 31 |
| 2034 |
#define bfd_mach_s390_64 64 |
#define bfd_mach_s390_64 64 |
| 2035 |
bfd_arch_score, /* Sunplus score */ |
bfd_arch_score, /* Sunplus score */ |
| 2036 |
|
#define bfd_mach_score3 3 |
| 2037 |
|
#define bfd_mach_score7 7 |
| 2038 |
bfd_arch_openrisc, /* OpenRISC */ |
bfd_arch_openrisc, /* OpenRISC */ |
| 2039 |
bfd_arch_mmix, /* Donald Knuth's educational processor. */ |
bfd_arch_mmix, /* Donald Knuth's educational processor. */ |
| 2040 |
bfd_arch_xstormy16, |
bfd_arch_xstormy16, |
| 2069 |
#define bfd_mach_z80 3 /* With ixl, ixh, iyl, and iyh. */ |
#define bfd_mach_z80 3 /* With ixl, ixh, iyl, and iyh. */ |
| 2070 |
#define bfd_mach_z80full 7 /* All undocumented instructions. */ |
#define bfd_mach_z80full 7 /* All undocumented instructions. */ |
| 2071 |
#define bfd_mach_r800 11 /* R800: successor with multiplication. */ |
#define bfd_mach_r800 11 /* R800: successor with multiplication. */ |
| 2072 |
|
bfd_arch_lm32, /* Lattice Mico32 */ |
| 2073 |
|
#define bfd_mach_lm32 1 |
| 2074 |
bfd_arch_last |
bfd_arch_last |
| 2075 |
}; |
}; |
| 2076 |
|
|
| 2397 |
BFD_RELOC_68K_GLOB_DAT, |
BFD_RELOC_68K_GLOB_DAT, |
| 2398 |
BFD_RELOC_68K_JMP_SLOT, |
BFD_RELOC_68K_JMP_SLOT, |
| 2399 |
BFD_RELOC_68K_RELATIVE, |
BFD_RELOC_68K_RELATIVE, |
| 2400 |
|
BFD_RELOC_68K_TLS_GD32, |
| 2401 |
|
BFD_RELOC_68K_TLS_GD16, |
| 2402 |
|
BFD_RELOC_68K_TLS_GD8, |
| 2403 |
|
BFD_RELOC_68K_TLS_LDM32, |
| 2404 |
|
BFD_RELOC_68K_TLS_LDM16, |
| 2405 |
|
BFD_RELOC_68K_TLS_LDM8, |
| 2406 |
|
BFD_RELOC_68K_TLS_LDO32, |
| 2407 |
|
BFD_RELOC_68K_TLS_LDO16, |
| 2408 |
|
BFD_RELOC_68K_TLS_LDO8, |
| 2409 |
|
BFD_RELOC_68K_TLS_IE32, |
| 2410 |
|
BFD_RELOC_68K_TLS_IE16, |
| 2411 |
|
BFD_RELOC_68K_TLS_IE8, |
| 2412 |
|
BFD_RELOC_68K_TLS_LE32, |
| 2413 |
|
BFD_RELOC_68K_TLS_LE16, |
| 2414 |
|
BFD_RELOC_68K_TLS_LE8, |
| 2415 |
|
|
| 2416 |
/* Linkage-table relative. */ |
/* Linkage-table relative. */ |
| 2417 |
BFD_RELOC_32_BASEREL, |
BFD_RELOC_32_BASEREL, |
| 2549 |
BFD_RELOC_SPU_HI16, |
BFD_RELOC_SPU_HI16, |
| 2550 |
BFD_RELOC_SPU_PPU32, |
BFD_RELOC_SPU_PPU32, |
| 2551 |
BFD_RELOC_SPU_PPU64, |
BFD_RELOC_SPU_PPU64, |
| 2552 |
|
BFD_RELOC_SPU_ADD_PIC, |
| 2553 |
|
|
| 2554 |
/* Alpha ECOFF and ELF relocations. Some of these treat the symbol or |
/* Alpha ECOFF and ELF relocations. Some of these treat the symbol or |
| 2555 |
"addend" in some special way. |
"addend" in some special way. |
| 2620 |
STO_ALPHA_STD_GPLOAD. */ |
STO_ALPHA_STD_GPLOAD. */ |
| 2621 |
BFD_RELOC_ALPHA_BRSGP, |
BFD_RELOC_ALPHA_BRSGP, |
| 2622 |
|
|
| 2623 |
|
/* The NOP relocation outputs a NOP if the longword displacement |
| 2624 |
|
between two procedure entry points is < 2^21. */ |
| 2625 |
|
BFD_RELOC_ALPHA_NOP, |
| 2626 |
|
|
| 2627 |
|
/* The BSR relocation outputs a BSR if the longword displacement |
| 2628 |
|
between two procedure entry points is < 2^21. */ |
| 2629 |
|
BFD_RELOC_ALPHA_BSR, |
| 2630 |
|
|
| 2631 |
|
/* The LDA relocation outputs a LDA if the longword displacement |
| 2632 |
|
between two procedure entry points is < 2^16. */ |
| 2633 |
|
BFD_RELOC_ALPHA_LDA, |
| 2634 |
|
|
| 2635 |
|
/* The BOH relocation outputs a BSR if the longword displacement |
| 2636 |
|
between two procedure entry points is < 2^21, or else a hint. */ |
| 2637 |
|
BFD_RELOC_ALPHA_BOH, |
| 2638 |
|
|
| 2639 |
/* Alpha thread-local storage relocations. */ |
/* Alpha thread-local storage relocations. */ |
| 2640 |
BFD_RELOC_ALPHA_TLSGD, |
BFD_RELOC_ALPHA_TLSGD, |
| 2641 |
BFD_RELOC_ALPHA_TLSLDM, |
BFD_RELOC_ALPHA_TLSLDM, |
| 2744 |
BFD_RELOC_MIPS_JUMP_SLOT, |
BFD_RELOC_MIPS_JUMP_SLOT, |
| 2745 |
|
|
| 2746 |
|
|
| 2747 |
|
/* Moxie ELF relocations. */ |
| 2748 |
|
BFD_RELOC_MOXIE_10_PCREL, |
| 2749 |
|
|
| 2750 |
|
|
| 2751 |
/* Fujitsu Frv Relocations. */ |
/* Fujitsu Frv Relocations. */ |
| 2752 |
BFD_RELOC_FRV_LABEL16, |
BFD_RELOC_FRV_LABEL16, |
| 2753 |
BFD_RELOC_FRV_LABEL24, |
BFD_RELOC_FRV_LABEL24, |
| 2852 |
BFD_RELOC_386_TLS_GOTDESC, |
BFD_RELOC_386_TLS_GOTDESC, |
| 2853 |
BFD_RELOC_386_TLS_DESC_CALL, |
BFD_RELOC_386_TLS_DESC_CALL, |
| 2854 |
BFD_RELOC_386_TLS_DESC, |
BFD_RELOC_386_TLS_DESC, |
| 2855 |
|
BFD_RELOC_386_IRELATIVE, |
| 2856 |
|
|
| 2857 |
/* x86-64/elf relocations */ |
/* x86-64/elf relocations */ |
| 2858 |
BFD_RELOC_X86_64_GOT32, |
BFD_RELOC_X86_64_GOT32, |
| 2881 |
BFD_RELOC_X86_64_GOTPC32_TLSDESC, |
BFD_RELOC_X86_64_GOTPC32_TLSDESC, |
| 2882 |
BFD_RELOC_X86_64_TLSDESC_CALL, |
BFD_RELOC_X86_64_TLSDESC_CALL, |
| 2883 |
BFD_RELOC_X86_64_TLSDESC, |
BFD_RELOC_X86_64_TLSDESC, |
| 2884 |
|
BFD_RELOC_X86_64_IRELATIVE, |
| 2885 |
|
|
| 2886 |
/* ns32k relocations */ |
/* ns32k relocations */ |
| 2887 |
BFD_RELOC_NS32K_IMM_8, |
BFD_RELOC_NS32K_IMM_8, |
| 2966 |
|
|
| 2967 |
/* PowerPC and PowerPC64 thread-local storage relocations. */ |
/* PowerPC and PowerPC64 thread-local storage relocations. */ |
| 2968 |
BFD_RELOC_PPC_TLS, |
BFD_RELOC_PPC_TLS, |
| 2969 |
|
BFD_RELOC_PPC_TLSGD, |
| 2970 |
|
BFD_RELOC_PPC_TLSLD, |
| 2971 |
BFD_RELOC_PPC_DTPMOD, |
BFD_RELOC_PPC_DTPMOD, |
| 2972 |
BFD_RELOC_PPC_TPREL16, |
BFD_RELOC_PPC_TPREL16, |
| 2973 |
BFD_RELOC_PPC_TPREL16_LO, |
BFD_RELOC_PPC_TPREL16_LO, |
| 3931 |
BFD_RELOC_390_GOTPLT20, |
BFD_RELOC_390_GOTPLT20, |
| 3932 |
BFD_RELOC_390_TLS_GOTIE20, |
BFD_RELOC_390_TLS_GOTIE20, |
| 3933 |
|
|
| 3934 |
/* Score relocations */ |
/* Score relocations |
| 3935 |
BFD_RELOC_SCORE_DUMMY1, |
Low 16 bit for load/store */ |
|
|
|
|
/* Low 16 bit for load/store */ |
|
| 3936 |
BFD_RELOC_SCORE_GPREL15, |
BFD_RELOC_SCORE_GPREL15, |
| 3937 |
|
|
| 3938 |
/* This is a 24-bit reloc with the right 1 bit assumed to be 0 */ |
/* This is a 24-bit reloc with the right 1 bit assumed to be 0 */ |
| 3942 |
/* This is a 19-bit reloc with the right 1 bit assumed to be 0 */ |
/* This is a 19-bit reloc with the right 1 bit assumed to be 0 */ |
| 3943 |
BFD_RELOC_SCORE_BRANCH, |
BFD_RELOC_SCORE_BRANCH, |
| 3944 |
|
|
| 3945 |
|
/* This is a 32-bit reloc for 48-bit instructions. */ |
| 3946 |
|
BFD_RELOC_SCORE_IMM30, |
| 3947 |
|
|
| 3948 |
|
/* This is a 32-bit reloc for 48-bit instructions. */ |
| 3949 |
|
BFD_RELOC_SCORE_IMM32, |
| 3950 |
|
|
| 3951 |
/* This is a 11-bit reloc with the right 1 bit assumed to be 0 */ |
/* This is a 11-bit reloc with the right 1 bit assumed to be 0 */ |
| 3952 |
BFD_RELOC_SCORE16_JMP, |
BFD_RELOC_SCORE16_JMP, |
| 3953 |
|
|
| 3954 |
/* This is a 8-bit reloc with the right 1 bit assumed to be 0 */ |
/* This is a 8-bit reloc with the right 1 bit assumed to be 0 */ |
| 3955 |
BFD_RELOC_SCORE16_BRANCH, |
BFD_RELOC_SCORE16_BRANCH, |
| 3956 |
|
|
| 3957 |
|
/* This is a 9-bit reloc with the right 1 bit assumed to be 0 */ |
| 3958 |
|
BFD_RELOC_SCORE_BCMP, |
| 3959 |
|
|
| 3960 |
/* Undocumented Score relocs */ |
/* Undocumented Score relocs */ |
| 3961 |
BFD_RELOC_SCORE_GOT15, |
BFD_RELOC_SCORE_GOT15, |
| 3962 |
BFD_RELOC_SCORE_GOT_LO16, |
BFD_RELOC_SCORE_GOT_LO16, |
| 4495 |
|
|
| 4496 |
/* 4 bit value. */ |
/* 4 bit value. */ |
| 4497 |
BFD_RELOC_Z8K_IMM4L, |
BFD_RELOC_Z8K_IMM4L, |
| 4498 |
|
|
| 4499 |
|
/* Lattice Mico32 relocations. */ |
| 4500 |
|
BFD_RELOC_LM32_CALL, |
| 4501 |
|
BFD_RELOC_LM32_BRANCH, |
| 4502 |
|
BFD_RELOC_LM32_16_GOT, |
| 4503 |
|
BFD_RELOC_LM32_GOTOFF_HI16, |
| 4504 |
|
BFD_RELOC_LM32_GOTOFF_LO16, |
| 4505 |
|
BFD_RELOC_LM32_COPY, |
| 4506 |
|
BFD_RELOC_LM32_GLOB_DAT, |
| 4507 |
|
BFD_RELOC_LM32_JMP_SLOT, |
| 4508 |
|
BFD_RELOC_LM32_RELATIVE, |
| 4509 |
|
|
| 4510 |
|
/* Difference between two section addreses. Must be followed by a |
| 4511 |
|
BFD_RELOC_MACH_O_PAIR. */ |
| 4512 |
|
BFD_RELOC_MACH_O_SECTDIFF, |
| 4513 |
|
|
| 4514 |
|
/* Mach-O generic relocations. */ |
| 4515 |
|
BFD_RELOC_MACH_O_PAIR, |
| 4516 |
BFD_RELOC_UNUSED }; |
BFD_RELOC_UNUSED }; |
| 4517 |
typedef enum bfd_reloc_code_real bfd_reloc_code_real_type; |
typedef enum bfd_reloc_code_real bfd_reloc_code_real_type; |
| 4518 |
reloc_howto_type *bfd_reloc_type_lookup |
reloc_howto_type *bfd_reloc_type_lookup |
| 4639 |
/* This symbol was created by bfd_get_synthetic_symtab. */ |
/* This symbol was created by bfd_get_synthetic_symtab. */ |
| 4640 |
#define BSF_SYNTHETIC (1 << 21) |
#define BSF_SYNTHETIC (1 << 21) |
| 4641 |
|
|
| 4642 |
|
/* This symbol is an indirect code object. Unrelated to BSF_INDIRECT. |
| 4643 |
|
The dynamic linker will compute the value of this symbol by |
| 4644 |
|
calling the function that it points to. BSF_FUNCTION must |
| 4645 |
|
also be also set. */ |
| 4646 |
|
#define BSF_GNU_INDIRECT_FUNCTION (1 << 22) |
| 4647 |
|
/* This symbol is a globally unique data object. The dynamic linker |
| 4648 |
|
will make sure that in the entire process there is just one symbol |
| 4649 |
|
with this name and type in use. BSF_OBJECT must also be set. */ |
| 4650 |
|
#define BSF_GNU_UNIQUE (1 << 23) |
| 4651 |
|
|
| 4652 |
flagword flags; |
flagword flags; |
| 4653 |
|
|
| 4654 |
/* A pointer to the section to which this symbol is |
/* A pointer to the section to which this symbol is |
| 4821 |
to any input file. */ |
to any input file. */ |
| 4822 |
#define BFD_LINKER_CREATED 0x2000 |
#define BFD_LINKER_CREATED 0x2000 |
| 4823 |
|
|
| 4824 |
|
/* This may be set before writing out a BFD to request that it |
| 4825 |
|
be written using values for UIDs, GIDs, timestamps, etc. that |
| 4826 |
|
will be consistent from run to run. */ |
| 4827 |
|
#define BFD_DETERMINISTIC_OUTPUT 0x4000 |
| 4828 |
|
|
| 4829 |
/* Currently my_archive is tested before adding origin to |
/* Currently my_archive is tested before adding origin to |
| 4830 |
anything. I believe that this can become always an add of |
anything. I believe that this can become always an add of |
| 4831 |
origin, with origin set to 0 for non archive files. */ |
origin, with origin set to 0 for non archive files. */ |
| 4896 |
struct ieee_data_struct *ieee_data; |
struct ieee_data_struct *ieee_data; |
| 4897 |
struct ieee_ar_data_struct *ieee_ar_data; |
struct ieee_ar_data_struct *ieee_ar_data; |
| 4898 |
struct srec_data_struct *srec_data; |
struct srec_data_struct *srec_data; |
| 4899 |
|
struct verilog_data_struct *verilog_data; |
| 4900 |
struct ihex_data_struct *ihex_data; |
struct ihex_data_struct *ihex_data; |
| 4901 |
struct tekhex_data_struct *tekhex_data; |
struct tekhex_data_struct *tekhex_data; |
| 4902 |
struct elf_obj_tdata *elf_obj_data; |
struct elf_obj_tdata *elf_obj_data; |
| 4917 |
struct netbsd_core_struct *netbsd_core_data; |
struct netbsd_core_struct *netbsd_core_data; |
| 4918 |
struct mach_o_data_struct *mach_o_data; |
struct mach_o_data_struct *mach_o_data; |
| 4919 |
struct mach_o_fat_data_struct *mach_o_fat_data; |
struct mach_o_fat_data_struct *mach_o_fat_data; |
| 4920 |
|
struct plugin_data_struct *plugin_data; |
| 4921 |
struct bfd_pef_data_struct *pef_data; |
struct bfd_pef_data_struct *pef_data; |
| 4922 |
struct bfd_pef_xlib_data_struct *pef_xlib_data; |
struct bfd_pef_xlib_data_struct *pef_xlib_data; |
| 4923 |
struct bfd_sym_data_struct *sym_data; |
struct bfd_sym_data_struct *sym_data; |
| 5219 |
bfd_target_oasys_flavour, |
bfd_target_oasys_flavour, |
| 5220 |
bfd_target_tekhex_flavour, |
bfd_target_tekhex_flavour, |
| 5221 |
bfd_target_srec_flavour, |
bfd_target_srec_flavour, |
| 5222 |
|
bfd_target_verilog_flavour, |
| 5223 |
bfd_target_ihex_flavour, |
bfd_target_ihex_flavour, |
| 5224 |
bfd_target_som_flavour, |
bfd_target_som_flavour, |
| 5225 |
bfd_target_os9k_flavour, |
bfd_target_os9k_flavour, |
| 5502 |
NAME##_bfd_merge_sections, \ |
NAME##_bfd_merge_sections, \ |
| 5503 |
NAME##_bfd_is_group_section, \ |
NAME##_bfd_is_group_section, \ |
| 5504 |
NAME##_bfd_discard_group, \ |
NAME##_bfd_discard_group, \ |
| 5505 |
NAME##_section_already_linked \ |
NAME##_section_already_linked, \ |
| 5506 |
|
NAME##_bfd_define_common_symbol |
| 5507 |
|
|
| 5508 |
int (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *); |
int (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *); |
| 5509 |
bfd_byte * (*_bfd_get_relocated_section_contents) |
bfd_byte * (*_bfd_get_relocated_section_contents) |
| 5551 |
void (*_section_already_linked) (bfd *, struct bfd_section *, |
void (*_section_already_linked) (bfd *, struct bfd_section *, |
| 5552 |
struct bfd_link_info *); |
struct bfd_link_info *); |
| 5553 |
|
|
| 5554 |
|
/* Define a common symbol. */ |
| 5555 |
|
bfd_boolean (*_bfd_define_common_symbol) (bfd *, struct bfd_link_info *, |
| 5556 |
|
struct bfd_link_hash_entry *); |
| 5557 |
|
|
| 5558 |
/* Routines to handle dynamic symbols and relocs. */ |
/* Routines to handle dynamic symbols and relocs. */ |
| 5559 |
#define BFD_JUMP_TABLE_DYNAMIC(NAME) \ |
#define BFD_JUMP_TABLE_DYNAMIC(NAME) \ |
| 5560 |
NAME##_get_dynamic_symtab_upper_bound, \ |
NAME##_get_dynamic_symtab_upper_bound, \ |
| 5619 |
#define bfd_section_already_linked(abfd, sec, info) \ |
#define bfd_section_already_linked(abfd, sec, info) \ |
| 5620 |
BFD_SEND (abfd, _section_already_linked, (abfd, sec, info)) |
BFD_SEND (abfd, _section_already_linked, (abfd, sec, info)) |
| 5621 |
|
|
| 5622 |
|
bfd_boolean bfd_generic_define_common_symbol |
| 5623 |
|
(bfd *output_bfd, struct bfd_link_info *info, |
| 5624 |
|
struct bfd_link_hash_entry *h); |
| 5625 |
|
|
| 5626 |
|
#define bfd_define_common_symbol(output_bfd, info, h) \ |
| 5627 |
|
BFD_SEND (output_bfd, _bfd_define_common_symbol, (output_bfd, info, h)) |
| 5628 |
|
|
| 5629 |
|
struct bfd_elf_version_tree * bfd_find_version_for_sym |
| 5630 |
|
(struct bfd_elf_version_tree *verdefs, |
| 5631 |
|
const char *sym_name, bfd_boolean *hide); |
| 5632 |
|
|
| 5633 |
/* Extracted from simple.c. */ |
/* Extracted from simple.c. */ |
| 5634 |
bfd_byte *bfd_simple_get_relocated_section_contents |
bfd_byte *bfd_simple_get_relocated_section_contents |
| 5635 |
(bfd *abfd, asection *sec, bfd_byte *outbuf, asymbol **symbol_table); |
(bfd *abfd, asection *sec, bfd_byte *outbuf, asymbol **symbol_table); |