diff options
author | Tristan Gingold <gingold@adacore.com> | 2009-06-25 12:39:06 +0000 |
---|---|---|
committer | Tristan Gingold <gingold@adacore.com> | 2009-06-25 12:39:06 +0000 |
commit | b32e07d7d744d2acc7fc04d96f2d67eef6f35b87 (patch) | |
tree | 8c7aa39ffc9a6685d9b1e739e4b1aa0606918970 /bfd/mach-o-target.c | |
parent | c41ba836f2cfd3e9abe2e7b19613eb96e6428feb (diff) | |
download | gdb-b32e07d7d744d2acc7fc04d96f2d67eef6f35b87.zip gdb-b32e07d7d744d2acc7fc04d96f2d67eef6f35b87.tar.gz gdb-b32e07d7d744d2acc7fc04d96f2d67eef6f35b87.tar.bz2 |
2009-06-25 Tristan Gingold <gingold@adacore.com>
* mach-o-target.c (bfd_mach_o_get_dynamic_symtab_upper_bound)
(bfd_mach_o_canonicalize_dynamic_symtab)
(bfd_mach_o_get_synthetic_symtab): Defines.
(TARGET_NAME_BACKEND): Add bfd_mach_o_print_thread entry.
(TARGET_NAME): Use Mach-O specific functions for dynamic.
* mach-o-i386.c (bfd_mach_o_i386_swap_reloc_in): Fix howto indexes
for scattered relocations.
(bfd_mach_o_i386_print_thread): New function.
(bfd_mach_o_print_thread): Define.
* mach-o.c (text_section_names_xlat): Add an entry for __const.
(bfd_mach_o_canonicalize_one_reloc, bfd_mach_o_canonicalize_relocs):
New functions extracted from ...
(bfd_mach_o_canonicalize_reloc): ... This. Simplified.
(bfd_mach_o_get_dynamic_reloc_upper_bound): New function.
(bfd_mach_o_canonicalize_dynamic_reloc): New function.
(bfd_mach_o_i386_flavour_string): Adjusted after enum renaming.
(bfd_mach_o_ppc_flavour_string): Reindentation. Add 64 bits cases.
(bfd_mach_o_scan_read_dylinker): Do not create a section anymore.
Set name_str field.
(bfd_mach_o_scan_read_dylib): Ditto.
(bfd_mach_o_scan_read_thread): Set mdata at declaration. Add comments,
reindent.
(bfd_mach_o_scan_read_dysymtab): Set mdata at declaration. Correctly
decode isym and flags on little endian targets. Set dysymtab field.
(bfd_mach_o_scan_start_address): Adjust for enum names.
(bfd_mach_o_lookup_section): Do not look for segments anymore.
(bfd_mach_o_print_section): Display bfd section name.
(bfd_mach_o_print_segment): Display none if no name.
(bfd_mach_o_print_dysymtab): Display next index for local, external
and undefined symbols.
(bfd_mach_o_bfd_print_private_bfd_data): Adjust code by using name_str.
Display dylinker name. Display thread and unixthread commands content.
(bfd_mach_o_print_thread): New macro.
* mach-o.h (bfd_mach_o_mach_header_magic): Align numbers.
(bfd_mach_o_ppc_thread_flavour): Ditto.
(bfd_mach_o_i386_thread_flavour): Ditto.
(BFD_MACH_O_PPC_THREAD_STATE_NONE): New enum.
(BFD_MACH_O_x86_THREAD_STATE_NONE): Replaces
BFD_MACH_O_THREAD_STATE_NONE.
(bfd_mach_o_segment_command): Remove segment field.
(bfd_mach_o_thread_flavour): Field offset is now unsigned long.
(bfd_mach_o_dylinker_command): Remove section field, add name_str.
(bfd_mach_o_prebound_dylib_command): Ditto.
(bfd_mach_o_dylib_command): Ditto.
(bfd_mach_o_prebound_dylib_command): Remove section field.
(mach_o_data_struct): Add dysymtab field.
(bfd_mach_o_backend_data): Add _bfd_mach_o_print_thread field.
(bfd_mach_o_get_reloc_upper_bound, bfd_mach_o_canonicalize_reloc)
(bfd_mach_o_build_commands): Remove parameter names and attributes.
(bfd_mach_o_get_dynamic_reloc_upper_bound)
(bfd_mach_o_canonicalize_dynamic_reloc): New prototypes.
Diffstat (limited to 'bfd/mach-o-target.c')
-rw-r--r-- | bfd/mach-o-target.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/bfd/mach-o-target.c b/bfd/mach-o-target.c index f203382..7070f5d 100644 --- a/bfd/mach-o-target.c +++ b/bfd/mach-o-target.c @@ -68,6 +68,10 @@ #define bfd_mach_o_bfd_copy_private_header_data _bfd_generic_bfd_copy_private_header_data #define bfd_mach_o_core_file_matches_executable_p generic_core_file_matches_executable_p +#define bfd_mach_o_get_dynamic_symtab_upper_bound bfd_mach_o_get_symtab_upper_bound +#define bfd_mach_o_canonicalize_dynamic_symtab bfd_mach_o_canonicalize_symtab +#define bfd_mach_o_get_synthetic_symtab _bfd_nodynamic_get_synthetic_symtab + #define TARGET_NAME_BACKEND XCONCAT2(TARGET_NAME,_backend) #endif /* MACH_O_TARGET_COMMON_DEFINED */ @@ -95,7 +99,8 @@ static const bfd_mach_o_backend_data TARGET_NAME_BACKEND = { bfd_mach_o_swap_reloc_in, - bfd_mach_o_swap_reloc_out + bfd_mach_o_swap_reloc_out, + bfd_mach_o_print_thread }; const bfd_target TARGET_NAME = @@ -172,7 +177,7 @@ const bfd_target TARGET_NAME = BFD_JUMP_TABLE_RELOCS (bfd_mach_o), BFD_JUMP_TABLE_WRITE (bfd_mach_o), BFD_JUMP_TABLE_LINK (bfd_mach_o), - BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), + BFD_JUMP_TABLE_DYNAMIC (bfd_mach_o), /* Alternative endian target. */ NULL, |