Subversion Repositories Kolibri OS

Rev

Rev 5197 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5197 Rev 6324
Line 1... Line 1...
1
/* Target definitions for 64-bit ELF
1
/* Target definitions for 64-bit ELF
2
   Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-
 
3
   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-
 
4
   Free Software Foundation, Inc.
2
   Copyright (C) 1993-2015 Free Software Foundation, Inc.
Line 5... Line 3...
5
 
3
 
Line 6... Line 4...
6
   This file is part of BFD, the Binary File Descriptor library.
4
   This file is part of BFD, the Binary File Descriptor library.
7
 
5
 
Line 49... Line 47...
49
#define bfd_elf64_canonicalize_reloc	_bfd_elf_canonicalize_reloc
47
#define bfd_elf64_canonicalize_reloc	_bfd_elf_canonicalize_reloc
50
#endif
48
#endif
51
#ifndef bfd_elf64_find_nearest_line
49
#ifndef bfd_elf64_find_nearest_line
52
#define bfd_elf64_find_nearest_line	_bfd_elf_find_nearest_line
50
#define bfd_elf64_find_nearest_line	_bfd_elf_find_nearest_line
53
#endif
51
#endif
-
 
52
#ifndef bfd_elf64_find_line
-
 
53
#define bfd_elf64_find_line		_bfd_elf_find_line
-
 
54
#endif
54
#ifndef bfd_elf64_find_inliner_info
55
#ifndef bfd_elf64_find_inliner_info
55
#define bfd_elf64_find_inliner_info	_bfd_elf_find_inliner_info
56
#define bfd_elf64_find_inliner_info	_bfd_elf_find_inliner_info
56
#endif
57
#endif
57
#define bfd_elf64_read_minisymbols	_bfd_elf_read_minisymbols
58
#define bfd_elf64_read_minisymbols	_bfd_elf_read_minisymbols
58
#define bfd_elf64_minisymbol_to_symbol	_bfd_elf_minisymbol_to_symbol
59
#define bfd_elf64_minisymbol_to_symbol	_bfd_elf_minisymbol_to_symbol
Line 63... Line 64...
63
#define bfd_elf64_get_reloc_upper_bound _bfd_elf_get_reloc_upper_bound
64
#define bfd_elf64_get_reloc_upper_bound _bfd_elf_get_reloc_upper_bound
64
#endif
65
#endif
65
#ifndef bfd_elf64_get_symbol_info
66
#ifndef bfd_elf64_get_symbol_info
66
#define bfd_elf64_get_symbol_info	_bfd_elf_get_symbol_info
67
#define bfd_elf64_get_symbol_info	_bfd_elf_get_symbol_info
67
#endif
68
#endif
-
 
69
#ifndef bfd_elf64_get_symbol_version_string
-
 
70
#define bfd_elf64_get_symbol_version_string \
-
 
71
  _bfd_elf_get_symbol_version_string
-
 
72
#endif
68
#define bfd_elf64_canonicalize_symtab	_bfd_elf_canonicalize_symtab
73
#define bfd_elf64_canonicalize_symtab	_bfd_elf_canonicalize_symtab
69
#define bfd_elf64_get_symtab_upper_bound _bfd_elf_get_symtab_upper_bound
74
#define bfd_elf64_get_symtab_upper_bound _bfd_elf_get_symtab_upper_bound
70
#define bfd_elf64_make_empty_symbol	_bfd_elf_make_empty_symbol
75
#define bfd_elf64_make_empty_symbol	_bfd_elf_make_empty_symbol
71
#ifndef bfd_elf64_new_section_hook
76
#ifndef bfd_elf64_new_section_hook
72
#define bfd_elf64_new_section_hook	_bfd_elf_new_section_hook
77
#define bfd_elf64_new_section_hook	_bfd_elf_new_section_hook
Line 107... Line 112...
107
#define elf_backend_want_p_paddr_set_to_zero 0
112
#define elf_backend_want_p_paddr_set_to_zero 0
108
#endif
113
#endif
109
#ifndef elf_backend_default_execstack
114
#ifndef elf_backend_default_execstack
110
#define elf_backend_default_execstack 1
115
#define elf_backend_default_execstack 1
111
#endif
116
#endif
-
 
117
#ifndef elf_backend_caches_rawsize
-
 
118
#define elf_backend_caches_rawsize 0
-
 
119
#endif
-
 
120
#ifndef elf_backend_extern_protected_data
-
 
121
#define elf_backend_extern_protected_data 0
-
 
122
#endif
112
#ifndef elf_backend_stack_align
123
#ifndef elf_backend_stack_align
113
#define elf_backend_stack_align 16
124
#define elf_backend_stack_align 16
114
#endif
125
#endif
Line 115... Line 126...
115
 
126
 
Line 234... Line 245...
234
 
245
 
235
#ifdef elf_backend_relocate_section
246
#ifdef elf_backend_relocate_section
236
#ifndef bfd_elf64_bfd_link_hash_table_create
247
#ifndef bfd_elf64_bfd_link_hash_table_create
237
#define bfd_elf64_bfd_link_hash_table_create _bfd_elf_link_hash_table_create
248
#define bfd_elf64_bfd_link_hash_table_create _bfd_elf_link_hash_table_create
238
#endif
-
 
239
#ifndef bfd_elf64_bfd_link_hash_table_free
-
 
240
#define bfd_elf64_bfd_link_hash_table_free _bfd_elf_link_hash_table_free
-
 
241
#endif
249
#endif
242
#ifndef bfd_elf64_bfd_link_add_symbols
250
#ifndef bfd_elf64_bfd_link_add_symbols
243
#define bfd_elf64_bfd_link_add_symbols	bfd_elf_link_add_symbols
251
#define bfd_elf64_bfd_link_add_symbols	bfd_elf_link_add_symbols
244
#endif
252
#endif
245
#ifndef bfd_elf64_bfd_final_link
253
#ifndef bfd_elf64_bfd_final_link
Line 253... Line 261...
253
   means that linking directly to S-records will not work.  */
261
   means that linking directly to S-records will not work.  */
254
#ifndef bfd_elf64_bfd_link_hash_table_create
262
#ifndef bfd_elf64_bfd_link_hash_table_create
255
#define bfd_elf64_bfd_link_hash_table_create \
263
#define bfd_elf64_bfd_link_hash_table_create \
256
  _bfd_generic_link_hash_table_create
264
  _bfd_generic_link_hash_table_create
257
#endif
265
#endif
258
#ifndef bfd_elf64_bfd_link_hash_table_free
-
 
259
#define bfd_elf64_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
-
 
260
#endif
-
 
261
#ifndef bfd_elf64_bfd_link_add_symbols
266
#ifndef bfd_elf64_bfd_link_add_symbols
262
#define bfd_elf64_bfd_link_add_symbols	_bfd_generic_link_add_symbols
267
#define bfd_elf64_bfd_link_add_symbols	_bfd_generic_link_add_symbols
263
#endif
268
#endif
264
#ifndef bfd_elf64_bfd_final_link
269
#ifndef bfd_elf64_bfd_final_link
265
#define bfd_elf64_bfd_final_link	_bfd_generic_final_link
270
#define bfd_elf64_bfd_final_link	_bfd_generic_final_link
Line 496... Line 501...
496
#endif
501
#endif
497
#ifndef elf_backend_static_tls_alignment
502
#ifndef elf_backend_static_tls_alignment
498
#define elf_backend_static_tls_alignment	1
503
#define elf_backend_static_tls_alignment	1
499
#endif
504
#endif
500
#ifndef elf_backend_post_process_headers
505
#ifndef elf_backend_post_process_headers
501
#define elf_backend_post_process_headers	NULL
506
#define elf_backend_post_process_headers	_bfd_elf_post_process_headers
502
#endif
507
#endif
503
#ifndef elf_backend_print_symbol_all
508
#ifndef elf_backend_print_symbol_all
504
#define elf_backend_print_symbol_all		NULL
509
#define elf_backend_print_symbol_all		NULL
505
#endif
510
#endif
506
#ifndef elf_backend_output_arch_local_syms
511
#ifndef elf_backend_output_arch_local_syms
Line 531... Line 536...
531
#define elf_backend_emit_relocs			_bfd_elf_link_output_relocs
536
#define elf_backend_emit_relocs			_bfd_elf_link_output_relocs
532
#endif
537
#endif
533
#ifndef elf_backend_count_relocs
538
#ifndef elf_backend_count_relocs
534
#define elf_backend_count_relocs		NULL
539
#define elf_backend_count_relocs		NULL
535
#endif
540
#endif
-
 
541
#ifndef elf_backend_sort_relocs_p
-
 
542
#define elf_backend_sort_relocs_p		NULL
-
 
543
#endif
536
#ifndef elf_backend_grok_prstatus
544
#ifndef elf_backend_grok_prstatus
537
#define elf_backend_grok_prstatus		NULL
545
#define elf_backend_grok_prstatus		NULL
538
#endif
546
#endif
539
#ifndef elf_backend_grok_psinfo
547
#ifndef elf_backend_grok_psinfo
540
#define elf_backend_grok_psinfo			NULL
548
#define elf_backend_grok_psinfo			NULL
Line 662... Line 670...
662
 
670
 
663
#ifndef elf_backend_maybe_function_sym
671
#ifndef elf_backend_maybe_function_sym
664
#define elf_backend_maybe_function_sym _bfd_elf_maybe_function_sym
672
#define elf_backend_maybe_function_sym _bfd_elf_maybe_function_sym
Line -... Line 673...
-
 
673
#endif
-
 
674
 
-
 
675
#ifndef elf_backend_get_reloc_section
-
 
676
#define elf_backend_get_reloc_section _bfd_elf_get_reloc_section
-
 
677
#endif
-
 
678
 
-
 
679
#ifndef elf_backend_compact_eh_encoding
-
 
680
#define elf_backend_compact_eh_encoding NULL
-
 
681
#endif
-
 
682
 
-
 
683
#ifndef elf_backend_cant_unwind_opcode
-
 
684
#define elf_backend_cant_unwind_opcode 0
665
#endif
685
#endif
666
 
686
 
667
#ifndef elf_match_priority
687
#ifndef elf_match_priority
668
#define elf_match_priority \
688
#define elf_match_priority \
Line 733... Line 753...
733
  elf_backend_merge_symbol_attribute,
753
  elf_backend_merge_symbol_attribute,
734
  elf_backend_get_target_dtag,
754
  elf_backend_get_target_dtag,
735
  elf_backend_ignore_undef_symbol,
755
  elf_backend_ignore_undef_symbol,
736
  elf_backend_emit_relocs,
756
  elf_backend_emit_relocs,
737
  elf_backend_count_relocs,
757
  elf_backend_count_relocs,
-
 
758
  elf_backend_sort_relocs_p,
738
  elf_backend_grok_prstatus,
759
  elf_backend_grok_prstatus,
739
  elf_backend_grok_psinfo,
760
  elf_backend_grok_psinfo,
740
  elf_backend_write_core_note,
761
  elf_backend_write_core_note,
741
  elf_backend_lookup_section_flags_hook,
762
  elf_backend_lookup_section_flags_hook,
742
  elf_backend_reloc_type_class,
763
  elf_backend_reloc_type_class,
Line 758... Line 779...
758
  elf_backend_common_section,
779
  elf_backend_common_section,
759
  elf_backend_merge_symbol,
780
  elf_backend_merge_symbol,
760
  elf_backend_hash_symbol,
781
  elf_backend_hash_symbol,
761
  elf_backend_is_function_type,
782
  elf_backend_is_function_type,
762
  elf_backend_maybe_function_sym,
783
  elf_backend_maybe_function_sym,
-
 
784
  elf_backend_get_reloc_section,
763
  elf_backend_link_order_error_handler,
785
  elf_backend_link_order_error_handler,
764
  elf_backend_relplt_name,
786
  elf_backend_relplt_name,
765
  ELF_MACHINE_ALT1,
787
  ELF_MACHINE_ALT1,
766
  ELF_MACHINE_ALT2,
788
  ELF_MACHINE_ALT2,
767
  &elf_backend_size_info,
789
  &elf_backend_size_info,
Line 772... Line 794...
772
  elf_backend_obj_attrs_section,
794
  elf_backend_obj_attrs_section,
773
  elf_backend_obj_attrs_arg_type,
795
  elf_backend_obj_attrs_arg_type,
774
  elf_backend_obj_attrs_section_type,
796
  elf_backend_obj_attrs_section_type,
775
  elf_backend_obj_attrs_order,
797
  elf_backend_obj_attrs_order,
776
  elf_backend_obj_attrs_handle_unknown,
798
  elf_backend_obj_attrs_handle_unknown,
-
 
799
  elf_backend_compact_eh_encoding,
-
 
800
  elf_backend_cant_unwind_opcode,
777
  elf_backend_static_tls_alignment,
801
  elf_backend_static_tls_alignment,
778
  elf_backend_stack_align,
802
  elf_backend_stack_align,
779
  elf_backend_collect,
803
  elf_backend_collect,
780
  elf_backend_type_change_ok,
804
  elf_backend_type_change_ok,
781
  elf_backend_may_use_rel_p,
805
  elf_backend_may_use_rel_p,
Line 792... Line 816...
792
  elf_backend_can_gc_sections,
816
  elf_backend_can_gc_sections,
793
  elf_backend_can_refcount,
817
  elf_backend_can_refcount,
794
  elf_backend_want_got_sym,
818
  elf_backend_want_got_sym,
795
  elf_backend_want_dynbss,
819
  elf_backend_want_dynbss,
796
  elf_backend_want_p_paddr_set_to_zero,
820
  elf_backend_want_p_paddr_set_to_zero,
797
  elf_backend_default_execstack
821
  elf_backend_default_execstack,
-
 
822
  elf_backend_caches_rawsize,
-
 
823
  elf_backend_extern_protected_data
798
};
824
};
Line 799... Line 825...
799
 
825
 
800
/* Forward declaration for use when initialising alternative_target field.  */
826
/* Forward declaration for use when initialising alternative_target field.  */
801
#ifdef TARGET_LITTLE_SYM
827
#ifdef TARGET_LITTLE_SYM
Line 817... Line 843...
817
  /* header_byteorder: header is also big endian */
843
  /* header_byteorder: header is also big endian */
818
  BFD_ENDIAN_BIG,
844
  BFD_ENDIAN_BIG,
Line 819... Line 845...
819
 
845
 
820
  /* object_flags: mask of all file flags */
846
  /* object_flags: mask of all file flags */
821
  (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS
847
  (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS
-
 
848
   | DYNAMIC | WP_TEXT | D_PAGED | BFD_COMPRESS | BFD_DECOMPRESS
Line 822... Line 849...
822
   | DYNAMIC | WP_TEXT | D_PAGED | BFD_COMPRESS | BFD_DECOMPRESS),
849
   | BFD_COMPRESS_GABI),
823
 
850
 
824
  /* section_flags: mask of all section flags */
851
  /* section_flags: mask of all section flags */
825
  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY
852
  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY
Line 915... Line 942...
915
  /* header_byteorder: header is also little endian */
942
  /* header_byteorder: header is also little endian */
916
  BFD_ENDIAN_LITTLE,
943
  BFD_ENDIAN_LITTLE,
Line 917... Line 944...
917
 
944
 
918
  /* object_flags: mask of all file flags */
945
  /* object_flags: mask of all file flags */
919
  (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS
946
  (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS
-
 
947
   | DYNAMIC | WP_TEXT | D_PAGED | BFD_COMPRESS | BFD_DECOMPRESS
Line 920... Line 948...
920
   | DYNAMIC | WP_TEXT | D_PAGED | BFD_COMPRESS | BFD_DECOMPRESS),
948
   | BFD_COMPRESS_GABI),
921
 
949
 
922
  /* section_flags: mask of all section flags */
950
  /* section_flags: mask of all section flags */
923
  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY
951
  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY