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