X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2Felfxx-target.h;h=4c6b1f203407ed33483b111dd399a454b406e792;hb=415c8100a28d56628c01730ef279c61f99578518;hp=a10601bd5311c13c78cfbe161c36da83ce5573af;hpb=6d6c25c8eaaf42755a759beeb2996502322b960c;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/elfxx-target.h b/bfd/elfxx-target.h index a10601bd53..4c6b1f2034 100644 --- a/bfd/elfxx-target.h +++ b/bfd/elfxx-target.h @@ -1,5 +1,5 @@ /* Target definitions for NN-bit ELF - Copyright (C) 1993-2019 Free Software Foundation, Inc. + Copyright (C) 1993-2021 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -130,13 +130,13 @@ #define elf_backend_extern_protected_data 0 #endif #ifndef elf_backend_always_renumber_dynsyms -#define elf_backend_always_renumber_dynsyms FALSE +#define elf_backend_always_renumber_dynsyms false #endif #ifndef elf_backend_linux_prpsinfo32_ugid16 -#define elf_backend_linux_prpsinfo32_ugid16 FALSE +#define elf_backend_linux_prpsinfo32_ugid16 false #endif #ifndef elf_backend_linux_prpsinfo64_ugid16 -#define elf_backend_linux_prpsinfo64_ugid16 FALSE +#define elf_backend_linux_prpsinfo64_ugid16 false #endif #ifndef elf_backend_stack_align #define elf_backend_stack_align 16 @@ -362,6 +362,10 @@ #define ELF_TARGET_ID GENERIC_ELF_DATA #endif +#ifndef ELF_TARGET_OS +#define ELF_TARGET_OS is_normal +#endif + #ifndef ELF_OSABI #define ELF_OSABI ELFOSABI_NONE #endif @@ -404,10 +408,10 @@ #endif #ifndef elf_backend_collect -#define elf_backend_collect FALSE +#define elf_backend_collect false #endif #ifndef elf_backend_type_change_ok -#define elf_backend_type_change_ok FALSE +#define elf_backend_type_change_ok false #endif #ifndef elf_backend_sym_is_global @@ -485,6 +489,9 @@ #ifndef elf_backend_size_dynamic_sections #define elf_backend_size_dynamic_sections 0 #endif +#ifndef elf_backend_strip_zero_sized_dynamic_sections +#define elf_backend_strip_zero_sized_dynamic_sections 0 +#endif #ifndef elf_backend_init_index_section #define elf_backend_init_index_section _bfd_void_bfd_link #endif @@ -563,8 +570,8 @@ #ifndef elf_backend_static_tls_alignment #define elf_backend_static_tls_alignment 1 #endif -#ifndef elf_backend_post_process_headers -#define elf_backend_post_process_headers _bfd_elf_post_process_headers +#ifndef elf_backend_init_file_header +#define elf_backend_init_file_header _bfd_elf_init_file_header #endif #ifndef elf_backend_print_symbol_all #define elf_backend_print_symbol_all NULL @@ -653,6 +660,9 @@ #ifndef elf_backend_write_section #define elf_backend_write_section NULL #endif +#ifndef elf_backend_elfsym_local_is_section +#define elf_backend_elfsym_local_is_section NULL +#endif #ifndef elf_backend_mips_irix_compat #define elf_backend_mips_irix_compat NULL #endif @@ -758,7 +768,7 @@ #endif #ifndef elf_backend_copy_special_section_fields -#define elf_backend_copy_special_section_fields NULL +#define elf_backend_copy_special_section_fields _bfd_elf_copy_special_section_fields #endif #ifndef elf_backend_compact_eh_encoding @@ -766,9 +776,25 @@ #endif #ifndef elf_backend_cant_unwind_opcode -#define elf_backend_cant_unwind_opcode 0 +#define elf_backend_cant_unwind_opcode NULL #endif +#ifndef elf_backend_init_secondary_reloc_section +#define elf_backend_init_secondary_reloc_section _bfd_elf_init_secondary_reloc_section +#endif + +#ifndef elf_backend_slurp_secondary_reloc_section +#define elf_backend_slurp_secondary_reloc_section _bfd_elf_slurp_secondary_reloc_section +#endif + +#ifndef elf_backend_write_secondary_reloc_section +#define elf_backend_write_secondary_reloc_section _bfd_elf_write_secondary_reloc_section +#endif + +#ifndef elf_backend_symbol_section_index +#define elf_backend_symbol_section_index NULL +#endif + #ifndef elf_match_priority #define elf_match_priority \ (ELF_ARCH == bfd_arch_unknown ? 2 : ELF_OSABI == ELFOSABI_NONE ? 1 : 0) @@ -776,10 +802,11 @@ extern const struct elf_size_info _bfd_elfNN_size_info; -static struct elf_backend_data elfNN_bed = +static const struct elf_backend_data elfNN_bed = { ELF_ARCH, /* arch */ ELF_TARGET_ID, /* target_id */ + ELF_TARGET_OS, /* target_os */ ELF_MACHINE_CODE, /* elf_machine_code */ ELF_OSABI, /* elf_osabi */ ELF_MAXPAGESIZE, /* maxpagesize */ @@ -815,6 +842,7 @@ static struct elf_backend_data elfNN_bed = elf_backend_adjust_dynamic_symbol, elf_backend_always_size_sections, elf_backend_size_dynamic_sections, + elf_backend_strip_zero_sized_dynamic_sections, elf_backend_init_index_section, elf_backend_relocate_section, elf_backend_finish_dynamic_symbol, @@ -829,7 +857,7 @@ static struct elf_backend_data elfNN_bed = elf_backend_gc_mark_dynamic_ref, elf_backend_gc_mark_hook, elf_backend_gc_mark_extra_sections, - elf_backend_post_process_headers, + elf_backend_init_file_header, elf_backend_print_symbol_all, elf_backend_output_arch_local_syms, elf_backend_output_arch_syms, @@ -859,6 +887,7 @@ static struct elf_backend_data elfNN_bed = elf_backend_can_make_lsda_relative_eh_frame, elf_backend_encode_eh_address, elf_backend_write_section, + elf_backend_elfsym_local_is_section, elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto, elf_backend_ecoff_debug_swap, @@ -895,6 +924,10 @@ static struct elf_backend_data elfNN_bed = elf_backend_fixup_gnu_properties, elf_backend_compact_eh_encoding, elf_backend_cant_unwind_opcode, + elf_backend_symbol_section_index, + elf_backend_init_secondary_reloc_section, + elf_backend_slurp_secondary_reloc_section, + elf_backend_write_secondary_reloc_section, elf_backend_static_tls_alignment, elf_backend_stack_align, elf_backend_strtab_flags, @@ -974,6 +1007,9 @@ const bfd_target TARGET_BIG_SYM = elf_match_priority, + /* TRUE if unused section symbols should be kept. */ + TARGET_KEEP_UNUSED_SECTION_SYMBOLS, + /* Routines to byte-swap various sized integers from the data sections */ bfd_getb64, bfd_getb_signed_64, bfd_putb64, bfd_getb32, bfd_getb_signed_32, bfd_putb32, @@ -1075,6 +1111,9 @@ const bfd_target TARGET_LITTLE_SYM = elf_match_priority, + /* TRUE if unused section symbols should be kept. */ + TARGET_KEEP_UNUSED_SECTION_SYMBOLS, + /* Routines to byte-swap various sized integers from the data sections */ bfd_getl64, bfd_getl_signed_64, bfd_putl64, bfd_getl32, bfd_getl_signed_32, bfd_putl32,