PR ld/11583
[deliverable/binutils-gdb.git] / bfd / mach-o.h
index c91080a77766dcc6a59ff7cb8f29c8f4c862735c..d4ca600c46e57d1c6fe6034c47b7654a6de8339d 100644 (file)
@@ -396,6 +396,17 @@ bfd_mach_o_segment_command;
 #define BFD_MACH_O_GENERIC_RELOC_PB_LA_PTR     3
 #define BFD_MACH_O_GENERIC_RELOC_LOCAL_SECTDIFF        4
 
+/* X86-64 relocations.  */
+#define BFD_MACH_O_X86_64_RELOC_UNSIGNED   0 /* Absolute addresses.  */
+#define BFD_MACH_O_X86_64_RELOC_SIGNED     1 /* 32-bit disp.  */
+#define BFD_MACH_O_X86_64_RELOC_BRANCH     2 /* 32-bit pcrel disp.  */
+#define BFD_MACH_O_X86_64_RELOC_GOT_LOAD   3 /* Movq load of a GOT entry.  */
+#define BFD_MACH_O_X86_64_RELOC_GOT        4 /* GOT reference.  */
+#define BFD_MACH_O_X86_64_RELOC_SUBTRACTOR 5 /* Symbol difference.  */
+#define BFD_MACH_O_X86_64_RELOC_SIGNED_1   6 /* 32-bit signed disp -1.  */
+#define BFD_MACH_O_X86_64_RELOC_SIGNED_2   7 /* 32-bit signed disp -2.  */
+#define BFD_MACH_O_X86_64_RELOC_SIGNED_4   8 /* 32-bit signed disp -4.  */
+
 /* Size of a relocation entry.  */
 #define BFD_MACH_O_RELENT_SIZE 8
 
@@ -751,7 +762,6 @@ bfd_mach_o_prebound_dylib_command;
 typedef struct bfd_mach_o_uuid_command
 {
   unsigned char uuid[16];
-  asection *section;
 }
 bfd_mach_o_uuid_command;
 
@@ -846,6 +856,7 @@ bfd_mach_o_data_struct;
 /* Target specific routines.  */
 typedef struct bfd_mach_o_backend_data
 {
+  enum bfd_architecture arch;
   bfd_boolean (*_bfd_mach_o_swap_reloc_in)(arelent *, bfd_mach_o_reloc_info *);
   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 *,
@@ -858,7 +869,7 @@ bfd_mach_o_backend_data;
   ((bfd_mach_o_backend_data*)(abfd)->xvec->backend_data)
 
 bfd_boolean bfd_mach_o_valid (bfd *);
-int bfd_mach_o_scan_read_dysymtab_symbol (bfd *, bfd_mach_o_dysymtab_command *, bfd_mach_o_symtab_command *, bfd_mach_o_asymbol *, unsigned long);
+int bfd_mach_o_read_dysymtab_symbol (bfd *, bfd_mach_o_dysymtab_command *, bfd_mach_o_symtab_command *, bfd_mach_o_asymbol *, unsigned long);
 int bfd_mach_o_scan_start_address (bfd *);
 int bfd_mach_o_scan (bfd *, bfd_mach_o_header *, bfd_mach_o_data_struct *);
 bfd_boolean bfd_mach_o_mkobject_init (bfd *);
@@ -866,6 +877,8 @@ const bfd_target *bfd_mach_o_object_p (bfd *);
 const bfd_target *bfd_mach_o_core_p (bfd *);
 const bfd_target *bfd_mach_o_archive_p (bfd *);
 bfd *bfd_mach_o_openr_next_archived_file (bfd *, bfd *);
+bfd_boolean bfd_mach_o_set_arch_mach (bfd *, enum bfd_architecture,
+                                      unsigned long);
 int bfd_mach_o_lookup_section (bfd *, asection *, bfd_mach_o_load_command **, bfd_mach_o_section **);
 int bfd_mach_o_lookup_command (bfd *, bfd_mach_o_load_command_type, bfd_mach_o_load_command **);
 bfd_boolean bfd_mach_o_write_contents (bfd *);
This page took 0.023108 seconds and 4 git commands to generate.