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 + -
显示快捷键?