elf64-target.h
来自「基于4个mips核的noc设计」· C头文件 代码 · 共 619 行 · 第 1/2 页
H
619 行
#endif#ifndef elf_backend_output_arch_syms#define elf_backend_output_arch_syms NULL#endif#ifndef elf_backend_copy_indirect_symbol#define elf_backend_copy_indirect_symbol _bfd_elf_link_hash_copy_indirect#endif#ifndef elf_backend_hide_symbol#define elf_backend_hide_symbol _bfd_elf_link_hash_hide_symbol#endif/* Previously, backends could only use SHT_REL or SHT_RELA relocation sections, but not both. They defined USE_REL to indicate SHT_REL sections, and left it undefined to indicated SHT_RELA sections. For backwards compatibility, we still support this usage. */#ifndef USE_REL#define USE_REL 0#else#undef USE_REL#define USE_REL 1#endif/* Use these in new code. */#ifndef elf_backend_may_use_rel_p#define elf_backend_may_use_rel_p USE_REL#endif#ifndef elf_backend_may_use_rela_p#define elf_backend_may_use_rela_p !USE_REL#endif#ifndef elf_backend_default_use_rela_p#define elf_backend_default_use_rela_p !USE_REL#endif#ifndef ELF_MACHINE_ALT1#define ELF_MACHINE_ALT1 0#endif#ifndef ELF_MACHINE_ALT2#define ELF_MACHINE_ALT2 0#endif#ifndef elf_backend_size_info#define elf_backend_size_info _bfd_elf64_size_info#endif#ifndef elf_backend_sign_extend_vma#define elf_backend_sign_extend_vma 0#endifextern const struct elf_size_info _bfd_elf64_size_info;#ifndef INCLUDED_TARGET_FILEstatic CONST struct elf_backend_data elf64_bed ={ ELF_ARCH, /* arch */ ELF_MACHINE_CODE, /* elf_machine_code */ ELF_MAXPAGESIZE, /* maxpagesize */ elf_info_to_howto, elf_info_to_howto_rel, elf_backend_sym_is_global, elf_backend_object_p, elf_backend_symbol_processing, elf_backend_symbol_table_processing, elf_backend_get_symbol_type, elf_backend_section_processing, elf_backend_section_from_shdr, elf_backend_section_flags, elf_backend_section_from_phdr, elf_backend_fake_sections, elf_backend_section_from_bfd_section, elf_backend_add_symbol_hook, elf_backend_link_output_symbol_hook, elf_backend_create_dynamic_sections, elf_backend_check_relocs, elf_backend_adjust_dynamic_symbol, elf_backend_always_size_sections, elf_backend_size_dynamic_sections, elf_backend_relocate_section, elf_backend_finish_dynamic_symbol, elf_backend_finish_dynamic_sections, elf_backend_begin_write_processing, elf_backend_final_write_processing, elf_backend_additional_program_headers, elf_backend_modify_segment_map, elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook, elf_backend_post_process_headers, elf_backend_print_symbol_all, elf_backend_output_arch_syms, elf_backend_copy_indirect_symbol, elf_backend_hide_symbol, elf_backend_ecoff_debug_swap, ELF_MACHINE_ALT1, ELF_MACHINE_ALT2, &elf_backend_size_info, elf_backend_got_symbol_offset, elf_backend_got_header_size, elf_backend_plt_header_size, elf_backend_collect, elf_backend_type_change_ok, elf_backend_may_use_rel_p, elf_backend_may_use_rela_p, elf_backend_default_use_rela_p, elf_backend_sign_extend_vma, elf_backend_want_got_plt, elf_backend_plt_readonly, elf_backend_want_plt_sym, elf_backend_plt_not_loaded, elf_backend_plt_alignment, elf_backend_can_gc_sections, elf_backend_want_dynbss};#endif/* Forward declaration for use when initialising alternative_target field. */#ifdef TARGET_LITTLE_SYMextern const bfd_target TARGET_LITTLE_SYM;#endif#ifdef TARGET_BIG_SYMconst bfd_target TARGET_BIG_SYM ={ /* name: identify kind of target */ TARGET_BIG_NAME, /* flavour: general indication about file */ bfd_target_elf_flavour, /* byteorder: data is big endian */ BFD_ENDIAN_BIG, /* header_byteorder: header is also big endian */ BFD_ENDIAN_BIG, /* object_flags: mask of all file flags */ (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED), /* section_flags: mask of all section flags */ (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY | SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_EXCLUDE | SEC_SORT_ENTRIES), /* leading_symbol_char: is the first char of a user symbol predictable, and if so what is it */ elf_symbol_leading_char, /* ar_pad_char: pad character for filenames within an archive header FIXME: this really has nothing to do with ELF, this is a characteristic of the archiver and/or os and should be independently tunable */ '/', /* ar_max_namelen: maximum number of characters in an archive header FIXME: this really has nothing to do with ELF, this is a characteristic of the archiver and should be independently tunable. This value is a WAG (wild a** guess) */ 14, /* Routines to byte-swap various sized integers from the data sections */ bfd_getb64, bfd_getb_signed_64, bfd_putb64, bfd_getb32, bfd_getb_signed_32, bfd_putb32, bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* Routines to byte-swap various sized integers from the file headers */ bfd_getb64, bfd_getb_signed_64, bfd_putb64, bfd_getb32, bfd_getb_signed_32, bfd_putb32, bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* bfd_check_format: check the format of a file being read */ { _bfd_dummy_target, /* unknown format */ bfd_elf64_object_p, /* assembler/linker output (object file) */ bfd_elf64_archive_p, /* an archive */ bfd_elf64_core_file_p /* a core file */ }, /* bfd_set_format: set the format of a file being written */ { bfd_false, bfd_elf64_mkobject, bfd_elf64_mkarchive, bfd_elf64_mkcorefile }, /* bfd_write_contents: write cached information into a file being written */ { bfd_false, bfd_elf64_write_object_contents, bfd_elf64_write_archive_contents, bfd_elf64_write_corefile_contents, }, BFD_JUMP_TABLE_GENERIC (bfd_elf64), BFD_JUMP_TABLE_COPY (bfd_elf64), BFD_JUMP_TABLE_CORE (bfd_elf64),#ifdef bfd_elf64_archive_functions BFD_JUMP_TABLE_ARCHIVE (bfd_elf64_archive),#else BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff),#endif BFD_JUMP_TABLE_SYMBOLS (bfd_elf64), BFD_JUMP_TABLE_RELOCS (bfd_elf64), BFD_JUMP_TABLE_WRITE (bfd_elf64), BFD_JUMP_TABLE_LINK (bfd_elf64), BFD_JUMP_TABLE_DYNAMIC (bfd_elf64), /* Alternative endian target. */#ifdef TARGET_LITTLE_SYM & TARGET_LITTLE_SYM,#else NULL,#endif /* backend_data: */ (PTR) &elf64_bed};#endif#ifdef TARGET_LITTLE_SYMconst bfd_target TARGET_LITTLE_SYM ={ /* name: identify kind of target */ TARGET_LITTLE_NAME, /* flavour: general indication about file */ bfd_target_elf_flavour, /* byteorder: data is little endian */ BFD_ENDIAN_LITTLE, /* header_byteorder: header is also little endian */ BFD_ENDIAN_LITTLE, /* object_flags: mask of all file flags */ (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED), /* section_flags: mask of all section flags */ (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY | SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_EXCLUDE | SEC_SORT_ENTRIES), /* leading_symbol_char: is the first char of a user symbol predictable, and if so what is it */ elf_symbol_leading_char, /* ar_pad_char: pad character for filenames within an archive header FIXME: this really has nothing to do with ELF, this is a characteristic of the archiver and/or os and should be independently tunable */ '/', /* ar_max_namelen: maximum number of characters in an archive header FIXME: this really has nothing to do with ELF, this is a characteristic of the archiver and should be independently tunable. This value is a WAG (wild a** guess) */ 14, /* Routines to byte-swap various sized integers from the data sections */ bfd_getl64, bfd_getl_signed_64, bfd_putl64, bfd_getl32, bfd_getl_signed_32, bfd_putl32, bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* Routines to byte-swap various sized integers from the file headers */ bfd_getl64, bfd_getl_signed_64, bfd_putl64, bfd_getl32, bfd_getl_signed_32, bfd_putl32, bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* bfd_check_format: check the format of a file being read */ { _bfd_dummy_target, /* unknown format */ bfd_elf64_object_p, /* assembler/linker output (object file) */ bfd_elf64_archive_p, /* an archive */ bfd_elf64_core_file_p /* a core file */ }, /* bfd_set_format: set the format of a file being written */ { bfd_false, bfd_elf64_mkobject, bfd_elf64_mkarchive, bfd_elf64_mkcorefile }, /* bfd_write_contents: write cached information into a file being written */ { bfd_false, bfd_elf64_write_object_contents, bfd_elf64_write_archive_contents, bfd_elf64_write_corefile_contents, }, BFD_JUMP_TABLE_GENERIC (bfd_elf64), BFD_JUMP_TABLE_COPY (bfd_elf64), BFD_JUMP_TABLE_CORE (bfd_elf64),#ifdef bfd_elf64_archive_functions BFD_JUMP_TABLE_ARCHIVE (bfd_elf64_archive),#else BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff),#endif BFD_JUMP_TABLE_SYMBOLS (bfd_elf64), BFD_JUMP_TABLE_RELOCS (bfd_elf64), BFD_JUMP_TABLE_WRITE (bfd_elf64), BFD_JUMP_TABLE_LINK (bfd_elf64), BFD_JUMP_TABLE_DYNAMIC (bfd_elf64), /* Alternative endian target. */#ifdef TARGET_BIG_SYM & TARGET_BIG_SYM,#else NULL,#endif /* backend_data: */ (PTR) &elf64_bed};#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?