libbfd.h
来自「基于4个mips核的noc设计」· C头文件 代码 · 共 1,073 行 · 第 1/3 页
H
1,073 行
const char **, unsigned int *, PTR *));/* Find the neaderst line using DWARF 1 debugging information. */extern boolean _bfd_dwarf1_find_nearest_line PARAMS ((bfd *, asection *, asymbol **, bfd_vma, const char **, const char **, unsigned int *));/* Find the nearest line using DWARF 2 debugging information. */extern boolean _bfd_dwarf2_find_nearest_line PARAMS ((bfd *, asection *, asymbol **, bfd_vma, const char **, const char **, unsigned int *, unsigned int, PTR *));/* A routine to create entries for a bfd_link_hash_table. */extern struct bfd_hash_entry *_bfd_link_hash_newfunc PARAMS ((struct bfd_hash_entry *entry, struct bfd_hash_table *table, const char *string));/* Initialize a bfd_link_hash_table. */extern boolean _bfd_link_hash_table_init PARAMS ((struct bfd_link_hash_table *, bfd *, struct bfd_hash_entry *(*) (struct bfd_hash_entry *, struct bfd_hash_table *, const char *)));/* Generic link hash table creation routine. */extern struct bfd_link_hash_table *_bfd_generic_link_hash_table_create PARAMS ((bfd *));/* Generic add symbol routine. */extern boolean _bfd_generic_link_add_symbols PARAMS ((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 boolean _bfd_generic_link_add_symbols_collect PARAMS ((bfd *, struct bfd_link_info *));/* Generic archive add symbol routine. */extern boolean _bfd_generic_link_add_archive_symbols PARAMS ((bfd *, struct bfd_link_info *, boolean (*checkfn) (bfd *, struct bfd_link_info *, boolean *)));/* Forward declaration to avoid prototype errors. */typedef struct bfd_link_hash_entry _bfd_link_hash_entry;/* Generic routine to add a single symbol. */extern boolean _bfd_generic_link_add_one_symbol PARAMS ((struct bfd_link_info *, bfd *, const char *name, flagword, asection *, bfd_vma, const char *, boolean copy, boolean constructor, struct bfd_link_hash_entry **));/* Generic link routine. */extern boolean _bfd_generic_final_link PARAMS ((bfd *, struct bfd_link_info *));extern boolean _bfd_generic_link_split_section PARAMS ((bfd *, struct sec *));/* Generic reloc_link_order processing routine. */extern boolean _bfd_generic_reloc_link_order PARAMS ((bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *));/* Default link order processing routine. */extern boolean _bfd_default_link_order PARAMS ((bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *));/* Count the number of reloc entries in a link order list. */extern unsigned int _bfd_count_link_order_relocs PARAMS ((struct bfd_link_order *));/* Final link relocation routine. */extern bfd_reloc_status_type _bfd_final_link_relocate PARAMS ((reloc_howto_type *, bfd *, asection *, bfd_byte *, bfd_vma address, bfd_vma value, bfd_vma addend));/* Relocate a particular location by a howto and a value. */extern bfd_reloc_status_type _bfd_relocate_contents PARAMS ((reloc_howto_type *, bfd *, bfd_vma, bfd_byte *));/* Link stabs in sections in the first pass. */extern boolean _bfd_link_section_stabs PARAMS ((bfd *, PTR *, asection *, asection *, PTR *));/* Write out the .stab section when linking stabs in sections. */extern boolean _bfd_write_section_stabs PARAMS ((bfd *, PTR *, asection *, PTR *, bfd_byte *));/* Write out the .stabstr string table when linking stabs in sections. */extern boolean _bfd_write_stab_strings PARAMS ((bfd *, PTR *));/* Find an offset within a .stab section when linking stabs in sections. */extern bfd_vma _bfd_stab_section_offset PARAMS ((bfd *, PTR *, asection *, PTR *, bfd_vma));/* Create a string table. */extern struct bfd_strtab_hash *_bfd_stringtab_init PARAMS ((void));/* Create an XCOFF .debug section style string table. */extern struct bfd_strtab_hash *_bfd_xcoff_stringtab_init PARAMS ((void));/* Free a string table. */extern void _bfd_stringtab_free PARAMS ((struct bfd_strtab_hash *));/* Get the size of a string table. */extern bfd_size_type _bfd_stringtab_size PARAMS ((struct bfd_strtab_hash *));/* Add a string to a string table. */extern bfd_size_type _bfd_stringtab_add PARAMS ((struct bfd_strtab_hash *, const char *, boolean hash, boolean copy));/* Write out a string table. */extern boolean _bfd_stringtab_emit PARAMS ((bfd *, struct bfd_strtab_hash *));/* Check that endianness of input and output file match. */extern boolean _bfd_generic_verify_endian_match PARAMS ((bfd *, bfd *));/* Macros to tell if bfds are read or write enabled. Note that bfds open for read may be scribbled into if the fd passed to bfd_fdopenr is actually open both for read and write simultaneously. However an output bfd will never be open for read. Therefore sometimes you want to check bfd_read_p or !bfd_read_p, and only sometimes bfd_write_p.*/#define bfd_read_p(abfd) ((abfd)->direction == read_direction || (abfd)->direction == both_direction)#define bfd_write_p(abfd) ((abfd)->direction == write_direction || (abfd)->direction == both_direction)void bfd_assert PARAMS ((const char*,int));#define BFD_ASSERT(x) \{ if (!(x)) bfd_assert(__FILE__,__LINE__); }#define BFD_FAIL() \{ bfd_assert(__FILE__,__LINE__); }extern void _bfd_abort PARAMS ((const char *, int, const char *)) ATTRIBUTE_NORETURN;/* if gcc >= 2.6, we can give a function name, too */#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6)#define __PRETTY_FUNCTION__ ((char *) NULL)#endif#undef abort#define abort() _bfd_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__)FILE * bfd_cache_lookup_worker PARAMS ((bfd *));extern bfd *bfd_last_cache;/* List of supported target vectors, and the default vector (if bfd_default_vector[0] is NULL, there is no default). */extern const bfd_target * const *bfd_target_vector;extern const bfd_target *bfd_default_vector[];/* Functions shared by the ECOFF and MIPS ELF backends, which have no other common header files. */#if defined(__STDC__) || defined(ALMOST_STDC)struct ecoff_find_line;#endifextern boolean _bfd_ecoff_locate_line PARAMS ((bfd *, asection *, bfd_vma, struct ecoff_debug_info * const, const struct ecoff_debug_swap * const, struct ecoff_find_line *, const char **, const char **, unsigned int *));extern boolean _bfd_ecoff_get_accumulated_pdr PARAMS ((PTR, bfd_byte *));extern boolean _bfd_ecoff_get_accumulated_sym PARAMS ((PTR, bfd_byte *));extern boolean _bfd_ecoff_get_accumulated_ss PARAMS ((PTR, bfd_byte *));extern bfd_vma _bfd_get_gp_value PARAMS ((bfd *));extern void _bfd_set_gp_value PARAMS ((bfd *, bfd_vma));/* Function shared by the COFF and ELF SH backends, which have no other common header files. */extern boolean _bfd_sh_align_load_span PARAMS ((bfd *, asection *, bfd_byte *, boolean (*) (bfd *, asection *, PTR, bfd_byte *, bfd_vma), PTR, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, boolean *));/* And more follows */voidbfd_write_bigendian_4byte_int PARAMS ((bfd *abfd, int i));unsigned intbfd_log2 PARAMS ((bfd_vma x));#define BFD_CACHE_MAX_OPEN 10extern bfd *bfd_last_cache;#define bfd_cache_lookup(x) \ ((x)==bfd_last_cache? \ (FILE*) (bfd_last_cache->iostream): \ bfd_cache_lookup_worker(x))booleanbfd_cache_init PARAMS ((bfd *abfd));booleanbfd_cache_close PARAMS ((bfd *abfd));FILE*bfd_open_file PARAMS ((bfd *abfd));FILE *bfd_cache_lookup_worker PARAMS ((bfd *abfd));#ifdef _BFD_MAKE_TABLE_bfd_reloc_code_realstatic const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_64", "BFD_RELOC_32", "BFD_RELOC_26", "BFD_RELOC_24", "BFD_RELOC_16", "BFD_RELOC_14", "BFD_RELOC_8", "BFD_RELOC_64_PCREL", "BFD_RELOC_32_PCREL", "BFD_RELOC_24_PCREL", "BFD_RELOC_16_PCREL", "BFD_RELOC_12_PCREL", "BFD_RELOC_8_PCREL", "BFD_RELOC_32_GOT_PCREL", "BFD_RELOC_16_GOT_PCREL", "BFD_RELOC_8_GOT_PCREL", "BFD_RELOC_32_GOTOFF", "BFD_RELOC_16_GOTOFF", "BFD_RELOC_LO16_GOTOFF", "BFD_RELOC_HI16_GOTOFF", "BFD_RELOC_HI16_S_GOTOFF", "BFD_RELOC_8_GOTOFF", "BFD_RELOC_32_PLT_PCREL", "BFD_RELOC_24_PLT_PCREL", "BFD_RELOC_16_PLT_PCREL", "BFD_RELOC_8_PLT_PCREL", "BFD_RELOC_32_PLTOFF", "BFD_RELOC_16_PLTOFF", "BFD_RELOC_LO16_PLTOFF", "BFD_RELOC_HI16_PLTOFF", "BFD_RELOC_HI16_S_PLTOFF", "BFD_RELOC_8_PLTOFF", "BFD_RELOC_68K_GLOB_DAT", "BFD_RELOC_68K_JMP_SLOT", "BFD_RELOC_68K_RELATIVE", "BFD_RELOC_32_BASEREL", "BFD_RELOC_16_BASEREL", "BFD_RELOC_LO16_BASEREL", "BFD_RELOC_HI16_BASEREL", "BFD_RELOC_HI16_S_BASEREL", "BFD_RELOC_8_BASEREL", "BFD_RELOC_RVA", "BFD_RELOC_8_FFnn", "BFD_RELOC_32_PCREL_S2", "BFD_RELOC_16_PCREL_S2", "BFD_RELOC_23_PCREL_S2", "BFD_RELOC_HI22", "BFD_RELOC_LO10", "BFD_RELOC_GPREL16", "BFD_RELOC_GPREL32", "BFD_RELOC_I960_CALLJ", "BFD_RELOC_NONE", "BFD_RELOC_SPARC_WDISP22", "BFD_RELOC_SPARC22", "BFD_RELOC_SPARC13", "BFD_RELOC_SPARC_GOT10", "BFD_RELOC_SPARC_GOT13", "BFD_RELOC_SPARC_GOT22", "BFD_RELOC_SPARC_PC10", "BFD_RELOC_SPARC_PC22", "BFD_RELOC_SPARC_WPLT30", "BFD_RELOC_SPARC_COPY", "BFD_RELOC_SPARC_GLOB_DAT", "BFD_RELOC_SPARC_JMP_SLOT", "BFD_RELOC_SPARC_RELATIVE", "BFD_RELOC_SPARC_UA16", "BFD_RELOC_SPARC_UA32", "BFD_RELOC_SPARC_UA64", "BFD_RELOC_SPARC_BASE13", "BFD_RELOC_SPARC_BASE22", "BFD_RELOC_SPARC_10", "BFD_RELOC_SPARC_11", "BFD_RELOC_SPARC_OLO10", "BFD_RELOC_SPARC_HH22", "BFD_RELOC_SPARC_HM10", "BFD_RELOC_SPARC_LM22", "BFD_RELOC_SPARC_PC_HH22", "BFD_RELOC_SPARC_PC_HM10", "BFD_RELOC_SPARC_PC_LM22", "BFD_RELOC_SPARC_WDISP16", "BFD_RELOC_SPARC_WDISP19", "BFD_RELOC_SPARC_7", "BFD_RELOC_SPARC_6", "BFD_RELOC_SPARC_5", "BFD_RELOC_SPARC_PLT64", "BFD_RELOC_SPARC_HIX22", "BFD_RELOC_SPARC_LOX10", "BFD_RELOC_SPARC_H44", "BFD_RELOC_SPARC_M44", "BFD_RELOC_SPARC_L44", "BFD_RELOC_SPARC_REGISTER", "BFD_RELOC_SPARC_REV32", "BFD_RELOC_ALPHA_GPDISP_HI16", "BFD_RELOC_ALPHA_GPDISP_LO16", "BFD_RELOC_ALPHA_GPDISP", "BFD_RELOC_ALPHA_LITERAL", "BFD_RELOC_ALPHA_ELF_LITERAL", "BFD_RELOC_ALPHA_LITUSE", "BFD_RELOC_ALPHA_USER_LITERAL", "BFD_RELOC_ALPHA_USER_LITUSE_BASE", "BFD_RELOC_ALPHA_USER_LITUSE_BYTOFF", "BFD_RELOC_ALPHA_USER_LITUSE_JSR", "BFD_RELOC_ALPHA_USER_GPDISP", "BFD_RELOC_ALPHA_USER_GPRELHIGH", "BFD_RELOC_ALPHA_USER_GPRELLOW", "BFD_RELOC_ALPHA_HINT", "BFD_RELOC_ALPHA_LINKAGE", "BFD_RELOC_ALPHA_CODEADDR", "BFD_RELOC_MIPS_JMP", "BFD_RELOC_MIPS16_JMP", "BFD_RELOC_MIPS16_GPREL", "BFD_RELOC_HI16", "BFD_RELOC_HI16_S", "BFD_RELOC_LO16", "BFD_RELOC_PCREL_HI16_S", "BFD_RELOC_PCREL_LO16", "BFD_RELOC_MIPS_LITERAL", "BFD_RELOC_MIPS_GOT16", "BFD_RELOC_MIPS_CALL16", "BFD_RELOC_MIPS_GOT_HI16", "BFD_RELOC_MIPS_GOT_LO16", "BFD_RELOC_MIPS_CALL_HI16", "BFD_RELOC_MIPS_CALL_LO16", "BFD_RELOC_MIPS_SUB", "BFD_RELOC_MIPS_GOT_PAGE", "BFD_RELOC_MIPS_GOT_OFST", "BFD_RELOC_MIPS_GOT_DISP", "BFD_RELOC_MIPS_SHIFT5", "BFD_RELOC_MIPS_SHIFT6", "BFD_RELOC_MIPS_INSERT_A", "BFD_RELOC_MIPS_INSERT_B", "BFD_RELOC_MIPS_DELETE",
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?