]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - bfd/elfxx-target.h
bfd:
[thirdparty/binutils-gdb.git] / bfd / elfxx-target.h
index 9e8ceca3e540a9f39778392fd1974778ec2debde..be0cfecfde03c4553e814d23fd03b0652662e026 100644 (file)
 #ifndef elf_backend_want_p_paddr_set_to_zero
 #define elf_backend_want_p_paddr_set_to_zero 0
 #endif
+#ifndef elf_backend_default_execstack
+#define elf_backend_default_execstack 1
+#endif
 
 #define bfd_elfNN_bfd_debug_info_start bfd_void
 #define bfd_elfNN_bfd_debug_info_end   bfd_void
 #ifndef elf_backend_gc_mark_hook
 #define elf_backend_gc_mark_hook       _bfd_elf_gc_mark_hook
 #endif
+#ifndef elf_backend_gc_mark_extra_sections
+#define elf_backend_gc_mark_extra_sections     NULL
+#endif
 #ifndef elf_backend_gc_sweep_hook
 #define elf_backend_gc_sweep_hook      NULL
 #endif
 #define elf_info_to_howto_rel 0
 #endif
 
+#ifndef ELF_OSABI
+#define ELF_OSABI ELFOSABI_NONE
+#endif
+
 #ifndef ELF_MAXPAGESIZE
   #error ELF_MAXPAGESIZE is not defined
 #define ELF_MAXPAGESIZE 1
 #ifndef elf_backend_check_directives
 #define elf_backend_check_directives   0
 #endif
+#ifndef elf_backend_as_needed_cleanup
+#define elf_backend_as_needed_cleanup  0
+#endif
 #ifndef elf_backend_adjust_dynamic_symbol
 #define elf_backend_adjust_dynamic_symbol 0
 #endif
 #ifndef elf_backend_got_header_size
 #define elf_backend_got_header_size    0
 #endif
+#ifndef elf_backend_obj_attrs_vendor
+#define elf_backend_obj_attrs_vendor           NULL
+#endif
+#ifndef elf_backend_obj_attrs_section
+#define elf_backend_obj_attrs_section          NULL
+#endif
+#ifndef elf_backend_obj_attrs_arg_type
+#define elf_backend_obj_attrs_arg_type         NULL
+#endif
+#ifndef elf_backend_obj_attrs_section_type
+#define elf_backend_obj_attrs_section_type             SHT_GNU_ATTRIBUTES
+#endif
 #ifndef elf_backend_post_process_headers
 #define elf_backend_post_process_headers       NULL
 #endif
 #ifndef elf_backend_grok_psinfo
 #define elf_backend_grok_psinfo                        NULL
 #endif
+#ifndef elf_backend_write_core_note
+#define elf_backend_write_core_note            NULL
+#endif
 #ifndef elf_backend_sprintf_vma
 #define elf_backend_sprintf_vma                        _bfd_elf_sprintf_vma
 #endif
 #define elf_backend_hash_symbol _bfd_elf_hash_symbol
 #endif
 
+#ifndef elf_backend_is_function_type
+#define elf_backend_is_function_type _bfd_elf_is_function_type
+#endif
+
 extern const struct elf_size_info _bfd_elfNN_size_info;
 
-#ifndef INCLUDED_TARGET_FILE
 static struct elf_backend_data elfNN_bed =
 {
   ELF_ARCH,                    /* arch */
   ELF_MACHINE_CODE,            /* elf_machine_code */
+  ELF_OSABI,                   /* elf_osabi  */
   ELF_MAXPAGESIZE,             /* maxpagesize */
   ELF_MINPAGESIZE,             /* minpagesize */
   ELF_COMMONPAGESIZE,          /* commonpagesize */
@@ -604,6 +636,7 @@ static struct elf_backend_data elfNN_bed =
   elf_backend_omit_section_dynsym,
   elf_backend_check_relocs,
   elf_backend_check_directives,
+  elf_backend_as_needed_cleanup,
   elf_backend_adjust_dynamic_symbol,
   elf_backend_always_size_sections,
   elf_backend_size_dynamic_sections,
@@ -618,6 +651,7 @@ static struct elf_backend_data elfNN_bed =
   elf_backend_modify_program_headers,
   elf_backend_gc_mark_dynamic_ref,
   elf_backend_gc_mark_hook,
+  elf_backend_gc_mark_extra_sections,
   elf_backend_gc_sweep_hook,
   elf_backend_post_process_headers,
   elf_backend_print_symbol_all,
@@ -632,6 +666,7 @@ static struct elf_backend_data elfNN_bed =
   elf_backend_count_relocs,
   elf_backend_grok_prstatus,
   elf_backend_grok_psinfo,
+  elf_backend_write_core_note,
   elf_backend_sprintf_vma,
   elf_backend_fprintf_vma,
   elf_backend_reloc_type_class,
@@ -653,6 +688,7 @@ static struct elf_backend_data elfNN_bed =
   elf_backend_common_section,
   elf_backend_merge_symbol,
   elf_backend_hash_symbol,
+  elf_backend_is_function_type,
   elf_backend_link_order_error_handler,
   elf_backend_relplt_name,
   ELF_MACHINE_ALT1,
@@ -660,6 +696,10 @@ static struct elf_backend_data elfNN_bed =
   &elf_backend_size_info,
   elf_backend_special_sections,
   elf_backend_got_header_size,
+  elf_backend_obj_attrs_vendor,
+  elf_backend_obj_attrs_section,
+  elf_backend_obj_attrs_arg_type,
+  elf_backend_obj_attrs_section_type,
   elf_backend_collect,
   elf_backend_type_change_ok,
   elf_backend_may_use_rel_p,
@@ -676,9 +716,9 @@ static struct elf_backend_data elfNN_bed =
   elf_backend_can_refcount,
   elf_backend_want_got_sym,
   elf_backend_want_dynbss,
-  elf_backend_want_p_paddr_set_to_zero
+  elf_backend_want_p_paddr_set_to_zero,
+  elf_backend_default_execstack
 };
-#endif
 
 /* Forward declaration for use when initialising alternative_target field.  */
 #ifdef TARGET_LITTLE_SYM