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 |