From 899f54f5ee7e2daae5aefe04d215ea9eedb66dd6 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 5 Feb 2002 03:35:19 +0000 Subject: [PATCH] * 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/ppc/test1elf64.d: Tweak arch name. --- bfd/ChangeLog | 11 ++++++++ bfd/archures.c | 4 ++- bfd/bfd-in2.h | 1 + bfd/cpu-powerpc.c | 55 +++++++++++++++++++++++--------------- gas/testsuite/ChangeLog | 4 +++ gas/testsuite/gas/ppc/test1elf64.d | 2 +- 6 files changed, 54 insertions(+), 23 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 0c9cbd6..f2f69a7 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,16 @@ 2002-02-05 Alan Modra + From Jimi X + * 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 + * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs against section syms in readonly sections. Don't do the global sym check if we find one. diff --git a/bfd/archures.c b/bfd/archures.c index 892a379..68057a4 100644 --- a/bfd/archures.c +++ b/bfd/archures.c @@ -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_openrisc_arch; 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; diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index ec79815..257287a 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -1543,6 +1543,7 @@ enum bfd_architecture 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 diff --git a/bfd/cpu-powerpc.c b/bfd/cpu-powerpc.c index 3e7a51c..d812618 100644 --- a/bfd/cpu-powerpc.c +++ b/bfd/cpu-powerpc.c @@ -1,5 +1,6 @@ /* 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. @@ -47,7 +48,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 +62,7 @@ static const bfd_arch_info_type arch_info_struct[] = 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 +76,7 @@ static const bfd_arch_info_type arch_info_struct[] = 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 +90,7 @@ static const bfd_arch_info_type arch_info_struct[] = 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 +104,7 @@ static const bfd_arch_info_type arch_info_struct[] = 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 +118,7 @@ static const bfd_arch_info_type arch_info_struct[] = 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 +129,10 @@ static const bfd_arch_info_type arch_info_struct[] = "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 +146,7 @@ static const bfd_arch_info_type arch_info_struct[] = 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 +160,7 @@ static const bfd_arch_info_type arch_info_struct[] = 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 +174,7 @@ static const bfd_arch_info_type arch_info_struct[] = 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 +188,7 @@ static const bfd_arch_info_type arch_info_struct[] = 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 +202,7 @@ static const bfd_arch_info_type arch_info_struct[] = 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 +216,22 @@ static const bfd_arch_info_type arch_info_struct[] = 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 +244,6 @@ const bfd_arch_info_type bfd_powerpc_arch = BFD_DEFAULT_TARGET_SIZE != 64, /* default for 32 bit target */ powerpc_compatible, bfd_default_scan, - &arch_info_struct[0] - }; + 0 + } +}; diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 26f820d..80a5417 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2002-02-05 Alan Modra + + * gas/ppc/test1elf64.d: Tweak arch name. + 2002-02-04 Alexandre Oliva * gas/testsuite/gas/sh/pcrel.d: New test. diff --git a/gas/testsuite/gas/ppc/test1elf64.d b/gas/testsuite/gas/ppc/test1elf64.d index 2e98ae3..bd8ae9f 100644 --- a/gas/testsuite/gas/ppc/test1elf64.d +++ b/gas/testsuite/gas/ppc/test1elf64.d @@ -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 -- 2.7.4