+2002-02-05 Alan Modra <amodra@bigpond.net.au>
+
+ From Jimi X <jimix@watson.ibm.com>
+ * archures (bfd_mach_ppc64): Define.
+ (bfd_powerpc_arch): Rename to bfd_powerpc_archs.
+ (bfd_powerpc_arch): Define.
+ * bfd-in2.h: Regenerate.
+ * cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs.
+ (bfd_powerpc_arch): Move to tail of bfd_powerpc_archs.
+ (bfd_powerpc_archs): Add default powerpc64 arch.
+
2002-02-05 Alan Modra <amodra@bigpond.net.au>
* elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs
. bfd_arch_pdp11, {* DEC PDP-11 *}
. bfd_arch_powerpc, {* PowerPC *}
.#define bfd_mach_ppc 0
+.#define bfd_mach_ppc64 1
.#define bfd_mach_ppc_403 403
.#define bfd_mach_ppc_403gc 4030
.#define bfd_mach_ppc_505 505
extern const bfd_arch_info_type bfd_or32_arch;
extern const bfd_arch_info_type bfd_pdp11_arch;
extern const bfd_arch_info_type bfd_pj_arch;
-extern const bfd_arch_info_type bfd_powerpc_arch;
+extern const bfd_arch_info_type bfd_powerpc_archs[];
+#define bfd_powerpc_arch bfd_powerpc_archs[0]
extern const bfd_arch_info_type bfd_rs6000_arch;
extern const bfd_arch_info_type bfd_s390_arch;
extern const bfd_arch_info_type bfd_sh_arch;
/* BFD PowerPC CPU definition
- Copyright 1994, 1995, 1996, 2000, 2001 Free Software Foundation, Inc.
+ Copyright 1994, 1995, 1996, 2000, 2001, 2002
+ Free Software Foundation, Inc.
Contributed by Ian Lance Taylor, Cygnus Support.
This file is part of BFD, the Binary File Descriptor library.
/*NOTREACHED*/
}
-static const bfd_arch_info_type arch_info_struct[] =
+const bfd_arch_info_type bfd_powerpc_archs[] =
{
{
32, /* 32 bits in a word */
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[1]
+ &bfd_powerpc_archs[1]
},
{
32, /* 32 bits in a word */
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[2]
+ &bfd_powerpc_archs[2]
},
{
32, /* 32 bits in a word */
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[3]
+ &bfd_powerpc_archs[3]
},
{
32, /* 32 bits in a word */
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[4]
+ &bfd_powerpc_archs[4]
},
{
32, /* 32 bits in a word */
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[5]
+ &bfd_powerpc_archs[5]
},
{
64, /* 64 bits in a word */
"powerpc",
"powerpc:620",
3,
- BFD_DEFAULT_TARGET_SIZE == 64, /* default for 64 bit target */
+ false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[6]
+ &bfd_powerpc_archs[6]
},
{
64, /* 64 bits in a word */
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[7]
+ &bfd_powerpc_archs[7]
},
{
64, /* 64 bits in a word */
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[8]
+ &bfd_powerpc_archs[8]
},
{
64, /* 64 bits in a word */
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[9]
+ &bfd_powerpc_archs[9]
},
{
64, /* 64 bits in a word */
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[10]
+ &bfd_powerpc_archs[10]
},
{
32, /* 32 bits in a word */
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[11]
+ &bfd_powerpc_archs[11]
},
{
32, /* 32 bits in a word */
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- 0
- }
-};
-
-const bfd_arch_info_type bfd_powerpc_arch =
+ &bfd_powerpc_archs[12]
+ },
+ {
+ 64, /* 64 bits in a word */
+ 64, /* 64 bits in an address */
+ 8, /* 8 bits in a byte */
+ bfd_arch_powerpc,
+ bfd_mach_ppc64,
+ "powerpc",
+ "powerpc:common64",
+ 3,
+ BFD_DEFAULT_TARGET_SIZE == 64, /* default for 64 bit target */
+ powerpc_compatible,
+ bfd_default_scan,
+ &bfd_powerpc_archs[13]
+ },
{
32, /* 32 bits in a word */
32, /* 32 bits in an address */
BFD_DEFAULT_TARGET_SIZE != 64, /* default for 32 bit target */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[0]
- };
+ 0
+ }
+};