aout-target.h
来自「基于4个mips核的noc设计」· C头文件 代码 · 共 648 行 · 第 1/2 页
H
648 行
#ifndef MY_finish_dynamic_link#define MY_finish_dynamic_link 0#endifstatic CONST struct aout_backend_data MY(backend_data) = { MY_zmagic_contiguous, MY_text_includes_header, MY_entry_is_text_address, MY_exec_hdr_flags, 0, /* text vma? */ MY_set_sizes, MY_exec_header_not_counted, MY_add_dynamic_symbols, MY_add_one_symbol, MY_link_dynamic_object, MY_write_dynamic_symbol, MY_check_dynamic_reloc, MY_finish_dynamic_link};#define MY_backend_data &MY(backend_data)#endif#ifndef MY_final_link_callback/* Callback for the final_link routine to set the section offsets. */static void MY_final_link_callback PARAMS ((bfd *, file_ptr *, file_ptr *, file_ptr *));static voidMY_final_link_callback (abfd, ptreloff, pdreloff, psymoff) bfd *abfd; file_ptr *ptreloff; file_ptr *pdreloff; file_ptr *psymoff;{ struct internal_exec *execp = exec_hdr (abfd); *ptreloff = N_TRELOFF (*execp); *pdreloff = N_DRELOFF (*execp); *psymoff = N_SYMOFF (*execp);}#endif#ifndef MY_bfd_final_link/* Final link routine. We need to use a call back to get the correct offsets in the output file. */static boolean MY_bfd_final_link PARAMS ((bfd *, struct bfd_link_info *));static booleanMY_bfd_final_link (abfd, info) bfd *abfd; struct bfd_link_info *info;{ return NAME(aout,final_link) (abfd, info, MY_final_link_callback);}#endif/* We assume BFD generic archive files. */#ifndef MY_openr_next_archived_file#define MY_openr_next_archived_file bfd_generic_openr_next_archived_file#endif#ifndef MY_get_elt_at_index#define MY_get_elt_at_index _bfd_generic_get_elt_at_index#endif#ifndef MY_generic_stat_arch_elt#define MY_generic_stat_arch_elt bfd_generic_stat_arch_elt#endif#ifndef MY_slurp_armap#define MY_slurp_armap bfd_slurp_bsd_armap#endif#ifndef MY_slurp_extended_name_table#define MY_slurp_extended_name_table _bfd_slurp_extended_name_table#endif#ifndef MY_construct_extended_name_table#define MY_construct_extended_name_table \ _bfd_archive_bsd_construct_extended_name_table#endif#ifndef MY_write_armap#define MY_write_armap bsd_write_armap#endif#ifndef MY_read_ar_hdr#define MY_read_ar_hdr _bfd_generic_read_ar_hdr#endif#ifndef MY_truncate_arname#define MY_truncate_arname bfd_bsd_truncate_arname#endif#ifndef MY_update_armap_timestamp#define MY_update_armap_timestamp _bfd_archive_bsd_update_armap_timestamp#endif/* No core file defined here -- configure in trad-core.c separately. */#ifndef MY_core_file_failing_command#define MY_core_file_failing_command _bfd_nocore_core_file_failing_command#endif#ifndef MY_core_file_failing_signal#define MY_core_file_failing_signal _bfd_nocore_core_file_failing_signal#endif#ifndef MY_core_file_matches_executable_p#define MY_core_file_matches_executable_p \ _bfd_nocore_core_file_matches_executable_p#endif#ifndef MY_core_file_p#define MY_core_file_p _bfd_dummy_target#endif#ifndef MY_bfd_debug_info_start#define MY_bfd_debug_info_start bfd_void#endif#ifndef MY_bfd_debug_info_end#define MY_bfd_debug_info_end bfd_void#endif#ifndef MY_bfd_debug_info_accumulate#define MY_bfd_debug_info_accumulate \ (void (*) PARAMS ((bfd*, struct sec *))) bfd_void#endif#ifndef MY_core_file_failing_command#define MY_core_file_failing_command NAME(aout,core_file_failing_command)#endif#ifndef MY_core_file_failing_signal#define MY_core_file_failing_signal NAME(aout,core_file_failing_signal)#endif#ifndef MY_core_file_matches_executable_p#define MY_core_file_matches_executable_p NAME(aout,core_file_matches_executable_p)#endif#ifndef MY_set_section_contents#define MY_set_section_contents NAME(aout,set_section_contents)#endif#ifndef MY_get_section_contents#define MY_get_section_contents NAME(aout,get_section_contents)#endif#ifndef MY_get_section_contents_in_window#define MY_get_section_contents_in_window _bfd_generic_get_section_contents_in_window#endif#ifndef MY_new_section_hook#define MY_new_section_hook NAME(aout,new_section_hook)#endif#ifndef MY_get_symtab_upper_bound#define MY_get_symtab_upper_bound NAME(aout,get_symtab_upper_bound)#endif#ifndef MY_get_symtab#define MY_get_symtab NAME(aout,get_symtab)#endif#ifndef MY_get_reloc_upper_bound#define MY_get_reloc_upper_bound NAME(aout,get_reloc_upper_bound)#endif#ifndef MY_canonicalize_reloc#define MY_canonicalize_reloc NAME(aout,canonicalize_reloc)#endif#ifndef MY_make_empty_symbol#define MY_make_empty_symbol NAME(aout,make_empty_symbol)#endif#ifndef MY_print_symbol#define MY_print_symbol NAME(aout,print_symbol)#endif#ifndef MY_get_symbol_info#define MY_get_symbol_info NAME(aout,get_symbol_info)#endif#ifndef MY_get_lineno#define MY_get_lineno NAME(aout,get_lineno)#endif#ifndef MY_set_arch_mach#define MY_set_arch_mach NAME(aout,set_arch_mach)#endif#ifndef MY_find_nearest_line#define MY_find_nearest_line NAME(aout,find_nearest_line)#endif#ifndef MY_sizeof_headers#define MY_sizeof_headers NAME(aout,sizeof_headers)#endif#ifndef MY_bfd_get_relocated_section_contents#define MY_bfd_get_relocated_section_contents \ bfd_generic_get_relocated_section_contents#endif#ifndef MY_bfd_relax_section#define MY_bfd_relax_section bfd_generic_relax_section#endif#ifndef MY_bfd_gc_sections#define MY_bfd_gc_sections bfd_generic_gc_sections#endif#ifndef MY_bfd_reloc_type_lookup#define MY_bfd_reloc_type_lookup NAME(aout,reloc_type_lookup)#endif#ifndef MY_bfd_make_debug_symbol#define MY_bfd_make_debug_symbol 0#endif#ifndef MY_read_minisymbols#define MY_read_minisymbols NAME(aout,read_minisymbols)#endif#ifndef MY_minisymbol_to_symbol#define MY_minisymbol_to_symbol NAME(aout,minisymbol_to_symbol)#endif#ifndef MY_bfd_link_hash_table_create#define MY_bfd_link_hash_table_create NAME(aout,link_hash_table_create)#endif#ifndef MY_bfd_link_add_symbols#define MY_bfd_link_add_symbols NAME(aout,link_add_symbols)#endif#ifndef MY_bfd_link_split_section#define MY_bfd_link_split_section _bfd_generic_link_split_section#endif#ifndef MY_bfd_copy_private_bfd_data#define MY_bfd_copy_private_bfd_data _bfd_generic_bfd_copy_private_bfd_data#endif#ifndef MY_bfd_merge_private_bfd_data#define MY_bfd_merge_private_bfd_data _bfd_generic_bfd_merge_private_bfd_data#endif#ifndef MY_bfd_copy_private_symbol_data#define MY_bfd_copy_private_symbol_data _bfd_generic_bfd_copy_private_symbol_data#endif#ifndef MY_bfd_print_private_bfd_data#define MY_bfd_print_private_bfd_data _bfd_generic_bfd_print_private_bfd_data#endif#ifndef MY_bfd_set_private_flags#define MY_bfd_set_private_flags _bfd_generic_bfd_set_private_flags#endif#ifndef MY_bfd_is_local_label_name#define MY_bfd_is_local_label_name bfd_generic_is_local_label_name#endif#ifndef MY_bfd_free_cached_info#define MY_bfd_free_cached_info NAME(aout,bfd_free_cached_info)#endif#ifndef MY_close_and_cleanup#define MY_close_and_cleanup MY_bfd_free_cached_info#endif#ifndef MY_get_dynamic_symtab_upper_bound#define MY_get_dynamic_symtab_upper_bound \ _bfd_nodynamic_get_dynamic_symtab_upper_bound#endif#ifndef MY_canonicalize_dynamic_symtab#define MY_canonicalize_dynamic_symtab \ _bfd_nodynamic_canonicalize_dynamic_symtab#endif#ifndef MY_get_dynamic_reloc_upper_bound#define MY_get_dynamic_reloc_upper_bound \ _bfd_nodynamic_get_dynamic_reloc_upper_bound#endif#ifndef MY_canonicalize_dynamic_reloc#define MY_canonicalize_dynamic_reloc \ _bfd_nodynamic_canonicalize_dynamic_reloc#endif/* Aout symbols normally have leading underscores */#ifndef MY_symbol_leading_char#define MY_symbol_leading_char '_'#endif/* Aout archives normally use spaces for padding */#ifndef AR_PAD_CHAR#define AR_PAD_CHAR ' '#endif#ifndef MY_BFD_TARGETconst bfd_target MY(vec) ={ TARGETNAME, /* name */ bfd_target_aout_flavour,#ifdef TARGET_IS_BIG_ENDIAN_P BFD_ENDIAN_BIG, /* target byte order (big) */ BFD_ENDIAN_BIG, /* target headers byte order (big) */#else BFD_ENDIAN_LITTLE, /* target byte order (little) */ BFD_ENDIAN_LITTLE, /* target headers byte order (little) */#endif (HAS_RELOC | EXEC_P | /* object flags */ HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED), (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_CODE | SEC_DATA), MY_symbol_leading_char, AR_PAD_CHAR, /* ar_pad_char */ 15, /* ar_max_namelen */#ifdef TARGET_IS_BIG_ENDIAN_P bfd_getb64, bfd_getb_signed_64, bfd_putb64, bfd_getb32, bfd_getb_signed_32, bfd_putb32, bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* data */ bfd_getb64, bfd_getb_signed_64, bfd_putb64, bfd_getb32, bfd_getb_signed_32, bfd_putb32, bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */#else bfd_getl64, bfd_getl_signed_64, bfd_putl64, bfd_getl32, bfd_getl_signed_32, bfd_putl32, bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* data */ bfd_getl64, bfd_getl_signed_64, bfd_putl64, bfd_getl32, bfd_getl_signed_32, bfd_putl32, bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */#endif {_bfd_dummy_target, MY_object_p, /* bfd_check_format */ bfd_generic_archive_p, MY_core_file_p}, {bfd_false, MY_mkobject, /* bfd_set_format */ _bfd_generic_mkarchive, bfd_false}, {bfd_false, MY_write_object_contents, /* bfd_write_contents */ _bfd_write_archive_contents, bfd_false}, BFD_JUMP_TABLE_GENERIC (MY), BFD_JUMP_TABLE_COPY (MY), BFD_JUMP_TABLE_CORE (MY), BFD_JUMP_TABLE_ARCHIVE (MY), BFD_JUMP_TABLE_SYMBOLS (MY), BFD_JUMP_TABLE_RELOCS (MY), BFD_JUMP_TABLE_WRITE (MY), BFD_JUMP_TABLE_LINK (MY), BFD_JUMP_TABLE_DYNAMIC (MY), /* Alternative_target */ NULL, (PTR) MY_backend_data};#endif /* MY_BFD_TARGET */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?