bfd/
authorTristan Gingold <gingold@adacore.com>
Wed, 4 Jan 2012 10:25:14 +0000 (10:25 +0000)
committerTristan Gingold <gingold@adacore.com>
Wed, 4 Jan 2012 10:25:14 +0000 (10:25 +0000)
2012-01-04  Tristan Gingold  <gingold@adacore.com>

* mach-o.c (bfd_mach_o_convert_architecture): Reindent.
Decode msubtype for ARM.

include/mach-o/
2012-01-04  Tristan Gingold  <gingold@adacore.com>

* loader.h: Update copyright year.
(bfd_mach_o_cpu_subtype): Add ARM subtypes.

bfd/ChangeLog
bfd/mach-o.c
include/mach-o/ChangeLog
include/mach-o/loader.h

index 4e440ebfb6df198c242cb2b2c13de4dbe824df64..2fd6ae0390919b7f70d8be1c6e35fe7e5193b265 100644 (file)
@@ -1,3 +1,8 @@
+2012-01-04  Tristan Gingold  <gingold@adacore.com>
+
+       * mach-o.c (bfd_mach_o_convert_architecture): Reindent.
+       Decode msubtype for ARM.
+
 2012-01-04  Tristan Gingold  <gingold@adacore.com>
 
        * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add comments.
index ddc8944feefe97342541635d135bc20f369d34e6..a72cba0200e0483f61210c1ee5c28b015421bf71 100644 (file)
@@ -821,7 +821,7 @@ bfd_mach_o_print_symbol (bfd *abfd,
 
 static void
 bfd_mach_o_convert_architecture (bfd_mach_o_cpu_type mtype,
-                                bfd_mach_o_cpu_subtype msubtype ATTRIBUTE_UNUSED,
+                                bfd_mach_o_cpu_subtype msubtype,
                                 enum bfd_architecture *type,
                                 unsigned long *subtype)
 {
@@ -829,8 +829,12 @@ bfd_mach_o_convert_architecture (bfd_mach_o_cpu_type mtype,
 
   switch (mtype)
     {
-    case BFD_MACH_O_CPU_TYPE_VAX: *type = bfd_arch_vax; break;
-    case BFD_MACH_O_CPU_TYPE_MC680x0: *type = bfd_arch_m68k; break;
+    case BFD_MACH_O_CPU_TYPE_VAX:
+      *type = bfd_arch_vax;
+      break;
+    case BFD_MACH_O_CPU_TYPE_MC680x0:
+      *type = bfd_arch_m68k;
+      break;
     case BFD_MACH_O_CPU_TYPE_I386:
       *type = bfd_arch_i386;
       *subtype = bfd_mach_i386_i386;
@@ -839,17 +843,52 @@ bfd_mach_o_convert_architecture (bfd_mach_o_cpu_type mtype,
       *type = bfd_arch_i386;
       *subtype = bfd_mach_x86_64;
       break;
-    case BFD_MACH_O_CPU_TYPE_MIPS: *type = bfd_arch_mips; break;
-    case BFD_MACH_O_CPU_TYPE_MC98000: *type = bfd_arch_m98k; break;
-    case BFD_MACH_O_CPU_TYPE_HPPA: *type = bfd_arch_hppa; break;
-    case BFD_MACH_O_CPU_TYPE_ARM: *type = bfd_arch_arm; break;
-    case BFD_MACH_O_CPU_TYPE_MC88000: *type = bfd_arch_m88k; break;
+    case BFD_MACH_O_CPU_TYPE_MIPS:
+      *type = bfd_arch_mips;
+      break;
+    case BFD_MACH_O_CPU_TYPE_MC98000:
+      *type = bfd_arch_m98k;
+      break;
+    case BFD_MACH_O_CPU_TYPE_HPPA:
+      *type = bfd_arch_hppa;
+      break;
+    case BFD_MACH_O_CPU_TYPE_ARM:
+      *type = bfd_arch_arm;
+      switch (msubtype)
+        {
+        case BFD_MACH_O_CPU_SUBTYPE_ARM_V4T:
+          *subtype = bfd_mach_arm_4T;
+          break;
+        case BFD_MACH_O_CPU_SUBTYPE_ARM_V6:
+          *subtype = bfd_mach_arm_4T;  /* Best fit ?  */
+          break;
+        case BFD_MACH_O_CPU_SUBTYPE_ARM_V5TEJ:
+          *subtype = bfd_mach_arm_5TE;
+          break;
+        case BFD_MACH_O_CPU_SUBTYPE_ARM_XSCALE:
+          *subtype = bfd_mach_arm_XScale;
+          break;
+        case BFD_MACH_O_CPU_SUBTYPE_ARM_V7:
+          *subtype = bfd_mach_arm_5TE; /* Best fit ?  */
+          break;
+        case BFD_MACH_O_CPU_SUBTYPE_ARM_ALL:
+        default:
+          break;
+        }
+      break;
+    case BFD_MACH_O_CPU_TYPE_MC88000:
+      *type = bfd_arch_m88k;
+      break;
     case BFD_MACH_O_CPU_TYPE_SPARC:
       *type = bfd_arch_sparc;
       *subtype = bfd_mach_sparc;
       break;
-    case BFD_MACH_O_CPU_TYPE_I860: *type = bfd_arch_i860; break;
-    case BFD_MACH_O_CPU_TYPE_ALPHA: *type = bfd_arch_alpha; break;
+    case BFD_MACH_O_CPU_TYPE_I860:
+      *type = bfd_arch_i860;
+      break;
+    case BFD_MACH_O_CPU_TYPE_ALPHA:
+      *type = bfd_arch_alpha;
+      break;
     case BFD_MACH_O_CPU_TYPE_POWERPC:
       *type = bfd_arch_powerpc;
       *subtype = bfd_mach_ppc;
index 2cbd47a4c588671ae3c4507c5741ebebd6cbc8b9..0280ca7784c51ba0d873fbf174e33d0f0d4304a7 100644 (file)
@@ -1,3 +1,8 @@
+2012-01-04  Tristan Gingold  <gingold@adacore.com>
+
+       * loader.h: Update copyright year.
+       (bfd_mach_o_cpu_subtype): Add ARM subtypes.
+
 2012-01-04  Tristan Gingold  <gingold@adacore.com>
 
        * external.h: Update copyright year.
index 296782fb5a3ce31e703bc8009509e721837c7275..824f793674962948a89c598912170a0120b7516a 100644 (file)
@@ -1,5 +1,5 @@
 /* Mach-O support for BFD.
-   Copyright 2011
+   Copyright 2011, 2012
    Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -56,7 +56,16 @@ bfd_mach_o_cpu_type;
 
 typedef enum bfd_mach_o_cpu_subtype
 {
-  BFD_MACH_O_CPU_SUBTYPE_X86_ALL = 3
+  /* i386.  */
+  BFD_MACH_O_CPU_SUBTYPE_X86_ALL = 3,
+
+  /* arm.  */
+  BFD_MACH_O_CPU_SUBTYPE_ARM_ALL = 0,
+  BFD_MACH_O_CPU_SUBTYPE_ARM_V4T = 5,
+  BFD_MACH_O_CPU_SUBTYPE_ARM_V6 = 6,
+  BFD_MACH_O_CPU_SUBTYPE_ARM_V5TEJ = 7,
+  BFD_MACH_O_CPU_SUBTYPE_ARM_XSCALE = 8,
+  BFD_MACH_O_CPU_SUBTYPE_ARM_V7 = 9
 }
 bfd_mach_o_cpu_subtype;