This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: bfd/archures.c and bfd_mach_ppc
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: Jimi X <jimix at watson dot ibm dot com>, binutils at sources dot redhat dot com
- Date: Tue, 5 Feb 2002 14:02:48 +1030
- Subject: Re: bfd/archures.c and bfd_mach_ppc
- References: <15441.44143.644037.672241@kitch0.watson.ibm.com> <20020125231335.GJ16187@bubble.sa.bigpond.net.au> <15442.45821.627617.545786@kitch0.watson.ibm.com> <20020126230102.GS16187@bubble.sa.bigpond.net.au>
I'm committing this..
bfd/ChangeLog
* 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.
gas/ChangeLog
* gas/ppc/test1elf64.d: Tweak arch name.
--
Alan Modra
IBM OzLabs - Linux Technology Centre
Index: bfd/archures.c
===================================================================
RCS file: /cvs/src/src/bfd/archures.c,v
retrieving revision 1.43
diff -u -p -r1.43 archures.c
--- archures.c 2002/01/31 17:32:54 1.43
+++ archures.c 2002/02/05 03:17:21
@@ -165,6 +165,7 @@ DESCRIPTION
. 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
@@ -332,7 +333,8 @@ extern const bfd_arch_info_type bfd_open
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;
Index: bfd/cpu-powerpc.c
===================================================================
RCS file: /cvs/src/src/bfd/cpu-powerpc.c,v
retrieving revision 1.7
diff -u -p -r1.7 cpu-powerpc.c
--- cpu-powerpc.c 2001/08/27 10:22:03 1.7
+++ cpu-powerpc.c 2002/02/05 03:17:29
@@ -47,7 +47,7 @@ powerpc_compatible (a,b)
/*NOTREACHED*/
}
-static const bfd_arch_info_type arch_info_struct[] =
+const bfd_arch_info_type bfd_powerpc_archs[] =
{
{
32, /* 32 bits in a word */
@@ -61,7 +61,7 @@ static const bfd_arch_info_type arch_inf
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[1]
+ &bfd_powerpc_archs[1]
},
{
32, /* 32 bits in a word */
@@ -75,7 +75,7 @@ static const bfd_arch_info_type arch_inf
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[2]
+ &bfd_powerpc_archs[2]
},
{
32, /* 32 bits in a word */
@@ -89,7 +89,7 @@ static const bfd_arch_info_type arch_inf
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[3]
+ &bfd_powerpc_archs[3]
},
{
32, /* 32 bits in a word */
@@ -103,7 +103,7 @@ static const bfd_arch_info_type arch_inf
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[4]
+ &bfd_powerpc_archs[4]
},
{
32, /* 32 bits in a word */
@@ -117,7 +117,7 @@ static const bfd_arch_info_type arch_inf
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[5]
+ &bfd_powerpc_archs[5]
},
{
64, /* 64 bits in a word */
@@ -128,10 +128,10 @@ static const bfd_arch_info_type arch_inf
"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 */
@@ -145,7 +145,7 @@ static const bfd_arch_info_type arch_inf
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[7]
+ &bfd_powerpc_archs[7]
},
{
64, /* 64 bits in a word */
@@ -159,7 +159,7 @@ static const bfd_arch_info_type arch_inf
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[8]
+ &bfd_powerpc_archs[8]
},
{
64, /* 64 bits in a word */
@@ -173,7 +173,7 @@ static const bfd_arch_info_type arch_inf
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[9]
+ &bfd_powerpc_archs[9]
},
{
64, /* 64 bits in a word */
@@ -187,7 +187,7 @@ static const bfd_arch_info_type arch_inf
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[10]
+ &bfd_powerpc_archs[10]
},
{
32, /* 32 bits in a word */
@@ -201,7 +201,7 @@ static const bfd_arch_info_type arch_inf
false, /* not the default */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[11]
+ &bfd_powerpc_archs[11]
},
{
32, /* 32 bits in a word */
@@ -215,11 +215,22 @@ static const bfd_arch_info_type arch_inf
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 */
@@ -232,5 +243,6 @@ const bfd_arch_info_type bfd_powerpc_arc
BFD_DEFAULT_TARGET_SIZE != 64, /* default for 32 bit target */
powerpc_compatible,
bfd_default_scan,
- &arch_info_struct[0]
- };
+ 0
+ }
+};
Index: gas/testsuite/gas/ppc/test1elf64.d
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/ppc/test1elf64.d,v
retrieving revision 1.1
diff -u -p -r1.1 test1elf64.d
--- test1elf64.d 2001/08/27 10:51:20 1.1
+++ test1elf64.d 2002/02/05 03:18:06
@@ -3,7 +3,7 @@
.*: +file format elf64-powerpc
.*
-architecture: powerpc:common, flags 0x00000011:
+architecture: powerpc:common64, flags 0x00000011:
HAS_RELOC, HAS_SYMS
start address 0x0000000000000000