Set CPU type in BFD backend for x86_64-nacl* and i?86-nacl* targets
[deliverable/binutils-gdb.git] / bfd / elf64-x86-64.c
index c95fdf5f9cb7afbb41be5df54b653a9fb167dcc6..3b3f890352dab7a556bffcfa91dfb4115733efec 100644 (file)
@@ -5348,6 +5348,14 @@ static const struct bfd_elf_special_section
 
 /* Native Client support.  */
 
+static bfd_boolean
+elf64_x86_64_nacl_elf_object_p (bfd *abfd)
+{
+  /* Set the right machine number for a NaCl x86-64 ELF64 file.  */
+  bfd_default_set_arch_mach (abfd, bfd_arch_i386, bfd_mach_x86_64_nacl);
+  return TRUE;
+}
+
 #undef TARGET_LITTLE_SYM
 #define        TARGET_LITTLE_SYM               bfd_elf64_x86_64_nacl_vec
 #undef TARGET_LITTLE_NAME
@@ -5480,6 +5488,8 @@ static const struct elf_x86_64_backend_data elf_x86_64_nacl_arch_bed =
 #undef elf_backend_arch_data
 #define        elf_backend_arch_data   &elf_x86_64_nacl_arch_bed
 
+#undef elf_backend_object_p
+#define elf_backend_object_p                   elf64_x86_64_nacl_elf_object_p
 #undef elf_backend_modify_segment_map
 #define        elf_backend_modify_segment_map          nacl_modify_segment_map
 #undef elf_backend_modify_program_headers
@@ -5491,6 +5501,14 @@ static const struct elf_x86_64_backend_data elf_x86_64_nacl_arch_bed =
 
 /* Native Client x32 support.  */
 
+static bfd_boolean
+elf32_x86_64_nacl_elf_object_p (bfd *abfd)
+{
+  /* Set the right machine number for a NaCl x86-64 ELF32 file.  */
+  bfd_default_set_arch_mach (abfd, bfd_arch_i386, bfd_mach_x64_32_nacl);
+  return TRUE;
+}
+
 #undef  TARGET_LITTLE_SYM
 #define TARGET_LITTLE_SYM              bfd_elf32_x86_64_nacl_vec
 #undef  TARGET_LITTLE_NAME
@@ -5511,7 +5529,7 @@ static const struct elf_x86_64_backend_data elf_x86_64_nacl_arch_bed =
 
 #undef elf_backend_object_p
 #define elf_backend_object_p \
-  elf32_x86_64_elf_object_p
+  elf32_x86_64_nacl_elf_object_p
 
 #undef elf_backend_bfd_from_remote_memory
 #define elf_backend_bfd_from_remote_memory \
This page took 0.025764 seconds and 4 git commands to generate.