]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
* archures.c (enum bfd_architecture): #define constants for
authorNicholas Duffek <nsd@redhat.com>
Fri, 16 Jun 2000 20:45:33 +0000 (20:45 +0000)
committerNicholas Duffek <nsd@redhat.com>
Fri, 16 Jun 2000 20:45:33 +0000 (20:45 +0000)
PowerPc and RS6000 machine numbers.
* bfd-in2.h: Regenerate.
* coffcode.h (coff_set_arch_mach_hook): #ifdef XCOFF64, set arch
to bfd_arch_powerpc instead of bfd_arch_rs6000.  Refer to PowerPc
and RS6000 machine numbers using #defined constants from
archures.c.
* cpu-powerpc.c (arch_info_struct): Refer to PowerPc and RS6000
machine numbers using #defined constants from archures.c.  Add
entries for EC603e, 630, A35, RS64II, RS64III, 7400.  Specify
64-bit words in 620 entry.
* cpu-rs6000.c (arch_info_struct): Create with entries for RS1,
RSC, and RS2.
(bfd_rs6000_arch): Change default machine to 0 (bfd_mach_rs6k).

bfd/ChangeLog
bfd/archures.c
bfd/bfd-in2.h
bfd/coffcode.h
bfd/cpu-powerpc.c
bfd/cpu-rs6000.c

index 6d7737549412da665d1db768eeefe0d4c8a274a4..d6f826cfd533809c2257869d09e99f8130f46b52 100644 (file)
@@ -1,3 +1,20 @@
+2000-06-16  Nicholas Duffek  <nsd@redhat.com>
+
+       * archures.c (enum bfd_architecture): #define constants for
+       PowerPc and RS6000 machine numbers.
+       * bfd-in2.h: Regenerate.
+       * coffcode.h (coff_set_arch_mach_hook): #ifdef XCOFF64, set arch
+       to bfd_arch_powerpc instead of bfd_arch_rs6000.  Refer to PowerPc
+       and RS6000 machine numbers using #defined constants from
+       archures.c.
+       * cpu-powerpc.c (arch_info_struct): Refer to PowerPc and RS6000
+       machine numbers using #defined constants from archures.c.  Add
+       entries for EC603e, 630, A35, RS64II, RS64III, 7400.  Specify
+       64-bit words in 620 entry.
+       * cpu-rs6000.c (arch_info_struct): Create with entries for RS1,
+       RSC, and RS2.
+       (bfd_rs6000_arch): Change default machine to 0 (bfd_mach_rs6k).
+
 2000-06-16  Nicholas Duffek  <nsd@cygnus.com>
 
        * coffcode.h (coff_mkobject_hook): Set xcoff_tdata.xcoff64.
index 536f2b1358da50fe0722e5e68287ba0a485f5c9f..69e42bfa8a578b36f372b8bc50319fa12da91a77 100644 (file)
@@ -146,7 +146,28 @@ DESCRIPTION
 .#define bfd_mach_h8300h  2
 .#define bfd_mach_h8300s  3
 .  bfd_arch_powerpc,   {* PowerPC *}
+.#define bfd_mach_ppc          0
+.#define bfd_mach_ppc_403      403
+.#define bfd_mach_ppc_403gc    4030
+.#define bfd_mach_ppc_505      505
+.#define bfd_mach_ppc_601      601
+.#define bfd_mach_ppc_602      602
+.#define bfd_mach_ppc_603      603
+.#define bfd_mach_ppc_ec603e   6031
+.#define bfd_mach_ppc_604      604
+.#define bfd_mach_ppc_620      620
+.#define bfd_mach_ppc_630      630
+.#define bfd_mach_ppc_750      750
+.#define bfd_mach_ppc_860      860
+.#define bfd_mach_ppc_a35      35
+.#define bfd_mach_ppc_rs64ii   642
+.#define bfd_mach_ppc_rs64iii  643
+.#define bfd_mach_ppc_7400     7400
 .  bfd_arch_rs6000,    {* IBM RS/6000 *}
+.#define bfd_mach_rs6k         0
+.#define bfd_mach_rs6k_rs1     6001
+.#define bfd_mach_rs6k_rsc     6003
+.#define bfd_mach_rs6k_rs2     6002
 .  bfd_arch_hppa,      {* HP PA RISC *}
 .  bfd_arch_d10v,      {* Mitsubishi D10V *}
 .#define bfd_mach_d10v         0
index 561a24e77c574a9584679e4bf999235f99a73687..92501f003c76930d20c7640b0293cc9399b2fd43 100644 (file)
@@ -1385,7 +1385,28 @@ enum bfd_architecture
 #define bfd_mach_h8300h  2
 #define bfd_mach_h8300s  3
   bfd_arch_powerpc,    /* PowerPC */
+#define bfd_mach_ppc           0
+#define bfd_mach_ppc_403       403
+#define bfd_mach_ppc_403gc     4030
+#define bfd_mach_ppc_505       505
+#define bfd_mach_ppc_601       601
+#define bfd_mach_ppc_602       602
+#define bfd_mach_ppc_603       603
+#define bfd_mach_ppc_ec603e    6031
+#define bfd_mach_ppc_604       604
+#define bfd_mach_ppc_620       620
+#define bfd_mach_ppc_630       630
+#define bfd_mach_ppc_750       750
+#define bfd_mach_ppc_860       860
+#define bfd_mach_ppc_a35       35
+#define bfd_mach_ppc_rs64ii    642
+#define bfd_mach_ppc_rs64iii   643
+#define bfd_mach_ppc_7400      7400
   bfd_arch_rs6000,     /* IBM RS/6000 */
+#define bfd_mach_rs6k          0
+#define bfd_mach_rs6k_rs1      6001
+#define bfd_mach_rs6k_rsc      6003
+#define bfd_mach_rs6k_rs2      6002
   bfd_arch_hppa,       /* HP PA RISC */
   bfd_arch_d10v,       /* Mitsubishi D10V */
 #define bfd_mach_d10v          0
index 3f155b85e094d3ef884e02bbfb9d1dc0a9227b75..93444988678e28236065736a2fb3084d9701d6c7 100644 (file)
@@ -1966,32 +1966,33 @@ coff_set_arch_mach_hook (abfd, filehdr)
               (because that's how they were bootstrapped originally),
               but they are always PowerPC architecture.  */
            arch = bfd_arch_powerpc;
-           machine = 0;
+           machine = bfd_mach_ppc;
 #else
-           arch = bfd_arch_rs6000;
 #ifdef XCOFF64
-           machine = 620;
+           arch = bfd_arch_powerpc;
+           machine = bfd_mach_ppc_620;
 #else
-           machine = 6000;
+           arch = bfd_arch_rs6000;
+           machine = bfd_mach_rs6k;
 #endif
 #endif /* POWERMAC */
            break;
 
          case 1:
            arch = bfd_arch_powerpc;
-           machine = 601;
+           machine = bfd_mach_ppc_601;
            break;
          case 2: /* 64 bit PowerPC */
            arch = bfd_arch_powerpc;
-           machine = 620;
+           machine = bfd_mach_ppc_620;
            break;
          case 3:
            arch = bfd_arch_powerpc;
-           machine = 0;
+           machine = bfd_mach_ppc;
            break;
          case 4:
            arch = bfd_arch_rs6000;
-           machine = 6000;
+           machine = bfd_mach_rs6k;
            break;
          }
       }
@@ -2698,7 +2699,8 @@ coff_set_flags (abfd, magicp, flagsp)
     case bfd_arch_powerpc:
 #endif
 #ifdef XCOFF64
-      if (bfd_get_mach (abfd) == 620 && !strncmp (abfd->xvec->name,"aix", 3))
+      if (bfd_get_mach (abfd) == bfd_mach_ppc_620
+         && !strncmp (abfd->xvec->name,"aix", 3))
        *magicp = U803XTOCMAGIC; 
       else
 #else
index a2c8f59fe4081eeb62e62636bed25d9abd4946a8..f824fff7b6ed09c77fadd3da6d963317d26b33ca 100644 (file)
@@ -54,7 +54,7 @@ static const bfd_arch_info_type arch_info_struct[] =
     32,        /* 32 bits in an address */
     8, /* 8 bits in a byte */
     bfd_arch_powerpc,
-    603, /* for the mpc603 */
+    bfd_mach_ppc_603,
     "powerpc",
     "powerpc:603",
     3,
@@ -68,9 +68,9 @@ static const bfd_arch_info_type arch_info_struct[] =
     32,        /* 32 bits in an address */
     8, /* 8 bits in a byte */
     bfd_arch_powerpc,
-    604, /* for the mpc604 */
+    bfd_mach_ppc_ec603e,
     "powerpc",
-    "powerpc:604",
+    "powerpc:EC603e",
     3,
     false, /* not the default */
     powerpc_compatible, 
@@ -82,9 +82,9 @@ static const bfd_arch_info_type arch_info_struct[] =
     32,        /* 32 bits in an address */
     8, /* 8 bits in a byte */
     bfd_arch_powerpc,
-    403, /* for the 403 */
+    bfd_mach_ppc_604,
     "powerpc",
-    "powerpc:403",
+    "powerpc:604",
     3,
     false, /* not the default */
     powerpc_compatible, 
@@ -96,27 +96,111 @@ static const bfd_arch_info_type arch_info_struct[] =
     32,        /* 32 bits in an address */
     8, /* 8 bits in a byte */
     bfd_arch_powerpc,
-    601, /* for the mpc601 */
+    bfd_mach_ppc_403,
     "powerpc",
-    "powerpc:601",
+    "powerpc:403",
     3,
     false, /* not the default */
     powerpc_compatible, 
     bfd_default_scan,
     &arch_info_struct[4]
   },
-  { 
+  {
     32,        /* 32 bits in a word */
+    32,        /* 32 bits in an address */
+    8, /* 8 bits in a byte */
+    bfd_arch_powerpc,
+    bfd_mach_ppc_601,
+    "powerpc",
+    "powerpc:601",
+    3,
+    false, /* not the default */
+    powerpc_compatible, 
+    bfd_default_scan,
+    &arch_info_struct[5]
+  },
+  { 
+    64,        /* 64 bits in a word */
     64,        /* 64 bits in an address */
     8, /* 8 bits in a byte */
     bfd_arch_powerpc,
-    620, /* for the mpc620 */
+    bfd_mach_ppc_620,
     "powerpc",
     "powerpc:620",
     3,
     false, /* not the default */
     powerpc_compatible, 
     bfd_default_scan,
+    &arch_info_struct[6]
+  },
+  {
+    64,        /* 64 bits in a word */
+    64,        /* 64 bits in an address */
+    8, /* 8 bits in a byte */
+    bfd_arch_powerpc,
+    bfd_mach_ppc_630,
+    "powerpc",
+    "powerpc:630",
+    3,
+    false, /* not the default */
+    powerpc_compatible,
+    bfd_default_scan,
+    &arch_info_struct[7]
+  },
+  {
+    64,        /* 64 bits in a word */
+    64,        /* 64 bits in an address */
+    8, /* 8 bits in a byte */
+    bfd_arch_powerpc,
+    bfd_mach_ppc_a35,
+    "powerpc",
+    "powerpc:a35",
+    3,
+    false, /* not the default */
+    powerpc_compatible,
+    bfd_default_scan,
+    &arch_info_struct[8]
+  },
+  {
+    64,        /* 64 bits in a word */
+    64,        /* 64 bits in an address */
+    8, /* 8 bits in a byte */
+    bfd_arch_powerpc,
+    bfd_mach_ppc_rs64ii,
+    "powerpc",
+    "powerpc:rs64ii",
+    3,
+    false, /* not the default */
+    powerpc_compatible,
+    bfd_default_scan,
+    &arch_info_struct[9]
+  },
+  {
+    64,        /* 64 bits in a word */
+    64,        /* 64 bits in an address */
+    8, /* 8 bits in a byte */
+    bfd_arch_powerpc,
+    bfd_mach_ppc_rs64iii,
+    "powerpc",
+    "powerpc:rs64iii",
+    3,
+    false, /* not the default */
+    powerpc_compatible,
+    bfd_default_scan,
+    &arch_info_struct[10]
+  },
+  {
+    32,        /* 32 bits in a word */
+    32,        /* 32 bits in an address */
+    8, /* 8 bits in a byte */
+    bfd_arch_powerpc,
+    bfd_mach_ppc_7400,
+    "powerpc",
+    "powerpc:7400",
+    3,
+    false, /* not the default */
+    powerpc_compatible,
+    bfd_default_scan,
     0
   }
 };
@@ -127,7 +211,7 @@ const bfd_arch_info_type bfd_powerpc_arch =
     32,        /* 32 bits in an address */
     8, /* 8 bits in a byte */
     bfd_arch_powerpc,
-    0, /* for the POWER/PowerPC common architecture */
+    bfd_mach_ppc, /* for the POWER/PowerPC common architecture */
     "powerpc",
     "powerpc:common",
     3,
index 9852ae9a05365f27866e094b9b61cb8cea70c025..49345423a95ef2004d3e116251cc1285b311b5f9 100644 (file)
@@ -53,18 +53,64 @@ rs6000_compatible (a,b)
   /*NOTREACHED*/
 }
 
+static const bfd_arch_info_type arch_info_struct[] =
+{
+  {
+    32,        /* 32 bits in a word */
+    32,        /* 32 bits in an address */
+    8, /* 8 bits in a byte */
+    bfd_arch_rs6000,
+    bfd_mach_rs6k_rs1,
+    "rs6000",
+    "rs6000:rs1",
+    3,
+    false, /* not the default */
+    rs6000_compatible,
+    bfd_default_scan,
+    &arch_info_struct[1]
+  },
+  {
+    32,        /* 32 bits in a word */
+    32,        /* 32 bits in an address */
+    8, /* 8 bits in a byte */
+    bfd_arch_rs6000,
+    bfd_mach_rs6k_rsc,
+    "rs6000",
+    "rs6000:rsc",
+    3,
+    false, /* not the default */
+    rs6000_compatible,
+    bfd_default_scan,
+    &arch_info_struct[2]
+  },
+  {
+    32,        /* 32 bits in a word */
+    32,        /* 32 bits in an address */
+    8, /* 8 bits in a byte */
+    bfd_arch_rs6000,
+    bfd_mach_rs6k_rs2,
+    "rs6000",
+    "rs6000:rs2",
+    3,
+    false, /* not the default */
+    rs6000_compatible,
+    bfd_default_scan,
+    0
+  }
+};
+
 const bfd_arch_info_type bfd_rs6000_arch =
   {
     32,        /* 32 bits in a word */
     32,        /* 32 bits in an address */
     8, /* 8 bits in a byte */
     bfd_arch_rs6000,
-    6000,      /* only 1 machine */
+    bfd_mach_rs6k,     /* POWER common architecture */
     "rs6000",
     "rs6000:6000",
     3,
-    true, /* the one and only */
+    true, /* the default */
     rs6000_compatible,
     bfd_default_scan,
-    0,
+    &arch_info_struct[0]
   };