mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-11 09:56:23 +08:00
bfd:
* mach-o-i386.c (bfd_mach_o_section_type_valid_for_tgt): Define NULL. * mach-o-target.c (bfd_mach_o_backend_data): Initialize bfd_mach_o_section_type_valid_for_tgt * mach-o-x86-64.c (bfd_mach_o_section_type_valid_for_x86_64): New. (bfd_mach_o_section_type_valid_for_tgt): Set to bfd_mach_o_section_type_valid_for_x86_64. * mach-o.c (bfd_mach_o_section_type_name): Reorder and eliminate dup. (bfd_mach_o_section_attribute_name): Reorder. (bfd_mach_o_get_section_type_from_name): If the target has defined a validator for section types, then use it. * mach-o.h (bfd_mach_o_get_section_type_from_name): Alter declaration to include the bfd. gas: * config/obj-macho.c (obj_mach_o_section): Account for target-dependent section types. Improve error handling when wrong section types/attributes are specified. gas/testsuite: * gas/mach-o/err-sections-1.s: New. * gas/mach-o/err-sections-2.s: New. * gas/mach-o/sections-3.d: New. * gas/mach-o/sections-3.s: New.
This commit is contained in:
@ -281,6 +281,16 @@ bfd_mach_o_x86_64_bfd_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static bfd_boolean
|
||||
bfd_mach_o_section_type_valid_for_x86_64 (unsigned long val)
|
||||
{
|
||||
if (val == BFD_MACH_O_S_NON_LAZY_SYMBOL_POINTERS
|
||||
|| val == BFD_MACH_O_S_LAZY_SYMBOL_POINTERS
|
||||
|| val == BFD_MACH_O_S_SYMBOL_STUBS)
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#define bfd_mach_o_swap_reloc_in bfd_mach_o_x86_64_swap_reloc_in
|
||||
#define bfd_mach_o_swap_reloc_out bfd_mach_o_x86_64_swap_reloc_out
|
||||
|
||||
@ -288,6 +298,7 @@ bfd_mach_o_x86_64_bfd_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
#define bfd_mach_o_bfd_reloc_name_lookup bfd_mach_o_x86_64_bfd_reloc_name_lookup
|
||||
#define bfd_mach_o_print_thread NULL
|
||||
#define bfd_mach_o_tgt_seg_table NULL
|
||||
#define bfd_mach_o_section_type_valid_for_tgt bfd_mach_o_section_type_valid_for_x86_64
|
||||
|
||||
#define TARGET_NAME mach_o_x86_64_vec
|
||||
#define TARGET_STRING "mach-o-x86-64"
|
||||
|
Reference in New Issue
Block a user