diff options
author | Tristan Gingold <gingold@adacore.com> | 2015-11-18 15:43:27 +0100 |
---|---|---|
committer | Tristan Gingold <gingold@adacore.com> | 2015-11-18 15:47:56 +0100 |
commit | bcb51645d3ef1211efbce59f0935f5f0223602a3 (patch) | |
tree | b13d0345ad27ab30bd8ce54f80b0129cddd1716e /bfd/mach-o.h | |
parent | 1798301e20d5c5be69a362bbec149abce446c215 (diff) | |
download | gdb-bcb51645d3ef1211efbce59f0935f5f0223602a3.zip gdb-bcb51645d3ef1211efbce59f0935f5f0223602a3.tar.gz gdb-bcb51645d3ef1211efbce59f0935f5f0223602a3.tar.bz2 |
mach-o: use a per-target reloc canonicalize function.
bfd/
* mach-o.h (bfd_mach_o_swap_in_non_scattered_reloc)
(bfd_mach_o_canonicalize_non_scattered_reloc)
(bfd_mach_o_pre_canonicalize_one_reloc): Declare.
(bfd_mach_o_backend_data): Rename field
_bfd_mach_o_swap_reloc_in to _bfd_mach_o_canonicalize_one_reloc.
* mach-o.c (bfd_mach_o_swap_in_non_scattered_reloc): Now public.
(bfd_mach_o_canonicalize_non_scattered_reloc): Renames from
bfd_mach_o_canonicalize_one_reloc.
(bfd_mach_o_pre_canonicalize_one_reloc): New function.
(bfd_mach_o_canonicalize_relocs): Adjust.
(bfd_mach_o_canonicalize_relocs): Rename define from
bfd_mach_o_swap_reloc_in.
* mach-o-target.c (TARGET_NAME_BACKEND): Use
bfd_mach_o_canonicalize_one_reloc instead of
bfd_mach_o_swap_reloc_in.
* mach-o-i386.c (bfd_mach_o_i386_canonicalize_one_reloc): Renames
from bfd_mach_o_i386_swap_reloc_in and adjust.
(bfd_mach_o_canonicalize_one_reloc): Renames from
bfd_mach_o_i386_canonicalize_one_reloc.
* mach-o-x86_64.c (bfd_mach_o_x86_64_canonicalize_one_reloc): Renames
from bfd_mach_o_x86_64_swap_reloc_in and adjust.
(bfd_mach_o_canonicalize_one_reloc): Renames from
bfd_mach_o_x86_64_canonicalize_one_reloc.
Diffstat (limited to 'bfd/mach-o.h')
-rw-r--r-- | bfd/mach-o.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/bfd/mach-o.h b/bfd/mach-o.h index 1b62c0f..5ea6d4a 100644 --- a/bfd/mach-o.h +++ b/bfd/mach-o.h @@ -704,6 +704,11 @@ bfd_boolean bfd_mach_o_read_symtab_strtab (bfd *abfd); bfd_vma bfd_mach_o_get_base_address (bfd *); +void bfd_mach_o_swap_in_non_scattered_reloc (bfd *, bfd_mach_o_reloc_info *, + unsigned char *); +bfd_boolean bfd_mach_o_canonicalize_non_scattered_reloc (bfd *, bfd_mach_o_reloc_info *, arelent *, asymbol **); +bfd_boolean bfd_mach_o_pre_canonicalize_one_reloc (bfd *, struct mach_o_reloc_info_external *, bfd_mach_o_reloc_info *, arelent *, asymbol **); + /* A placeholder in case we need to suppress emitting the dysymtab for some reason (e.g. compatibility with older system versions). */ #define bfd_mach_o_should_emit_dysymtab(x) TRUE @@ -740,7 +745,8 @@ typedef struct bfd_mach_o_backend_data { enum bfd_architecture arch; bfd_vma page_size; - bfd_boolean (*_bfd_mach_o_swap_reloc_in)(arelent *, bfd_mach_o_reloc_info *); + bfd_boolean (*_bfd_mach_o_canonicalize_one_reloc) + (bfd *, struct mach_o_reloc_info_external *, arelent *, asymbol **); bfd_boolean (*_bfd_mach_o_swap_reloc_out)(arelent *, bfd_mach_o_reloc_info *); bfd_boolean (*_bfd_mach_o_print_thread)(bfd *, bfd_mach_o_thread_flavour *, void *, char *); |