summaryrefslogtreecommitdiff
path: root/bfd/cpu-rs6000.c
diff options
context:
space:
mode:
authorNicholas Duffek <nsd@redhat.com>2000-06-16 20:45:33 +0000
committerNicholas Duffek <nsd@redhat.com>2000-06-16 20:45:33 +0000
commit2bc508ba91e31ccba92e20c1378753dd6da90876 (patch)
treee123f8643a335f6d2d4b2a5a2aa5088204f6e960 /bfd/cpu-rs6000.c
parent26f3ec3f1bbd180c1b7ec1d55a816253510679ec (diff)
downloadbinutils-redhat-2bc508ba91e31ccba92e20c1378753dd6da90876.tar.gz
* 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).
Diffstat (limited to 'bfd/cpu-rs6000.c')
-rw-r--r--bfd/cpu-rs6000.c52
1 files changed, 49 insertions, 3 deletions
diff --git a/bfd/cpu-rs6000.c b/bfd/cpu-rs6000.c
index 9852ae9a05..49345423a9 100644
--- a/bfd/cpu-rs6000.c
+++ b/bfd/cpu-rs6000.c
@@ -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]
};