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@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.
.#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
#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
(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;
}
}
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
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,
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,
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,
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
}
};
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,
/*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]
};