diff options
Diffstat (limited to 'bfd/cpu-powerpc.c')
-rw-r--r-- | bfd/cpu-powerpc.c | 109 |
1 files changed, 70 insertions, 39 deletions
diff --git a/bfd/cpu-powerpc.c b/bfd/cpu-powerpc.c index d812618..d77b426 100644 --- a/bfd/cpu-powerpc.c +++ b/bfd/cpu-powerpc.c @@ -50,6 +50,65 @@ powerpc_compatible (a,b) const bfd_arch_info_type bfd_powerpc_archs[] = { +#if BFD_DEFAULT_TARGET_SIZE == 64 /* default arch must come first. */ + { + 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, + true, /* default for 64 bit target */ + powerpc_compatible, + bfd_default_scan, + &bfd_powerpc_archs[1] + }, + { + 32, /* 32 bits in a word */ + 32, /* 32 bits in an address */ + 8, /* 8 bits in a byte */ + bfd_arch_powerpc, + bfd_mach_ppc, /* for the POWER/PowerPC common architecture */ + "powerpc", + "powerpc:common", + 3, + false, + powerpc_compatible, + bfd_default_scan, + &bfd_powerpc_archs[2], + }, +#else + { + 32, /* 32 bits in a word */ + 32, /* 32 bits in an address */ + 8, /* 8 bits in a byte */ + bfd_arch_powerpc, + bfd_mach_ppc, /* for the POWER/PowerPC common architecture */ + "powerpc", + "powerpc:common", + 3, + true, /* default for 32 bit target */ + powerpc_compatible, + bfd_default_scan, + &bfd_powerpc_archs[1], + }, + { + 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, + false, + powerpc_compatible, + bfd_default_scan, + &bfd_powerpc_archs[2] + }, +#endif { 32, /* 32 bits in a word */ 32, /* 32 bits in an address */ @@ -62,7 +121,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] = false, /* not the default */ powerpc_compatible, bfd_default_scan, - &bfd_powerpc_archs[1] + &bfd_powerpc_archs[3] }, { 32, /* 32 bits in a word */ @@ -76,7 +135,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] = false, /* not the default */ powerpc_compatible, bfd_default_scan, - &bfd_powerpc_archs[2] + &bfd_powerpc_archs[4] }, { 32, /* 32 bits in a word */ @@ -90,7 +149,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] = false, /* not the default */ powerpc_compatible, bfd_default_scan, - &bfd_powerpc_archs[3] + &bfd_powerpc_archs[5] }, { 32, /* 32 bits in a word */ @@ -104,7 +163,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] = false, /* not the default */ powerpc_compatible, bfd_default_scan, - &bfd_powerpc_archs[4] + &bfd_powerpc_archs[6] }, { 32, /* 32 bits in a word */ @@ -118,7 +177,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] = false, /* not the default */ powerpc_compatible, bfd_default_scan, - &bfd_powerpc_archs[5] + &bfd_powerpc_archs[7] }, { 64, /* 64 bits in a word */ @@ -132,7 +191,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] = false, /* not the default */ powerpc_compatible, bfd_default_scan, - &bfd_powerpc_archs[6] + &bfd_powerpc_archs[8] }, { 64, /* 64 bits in a word */ @@ -146,7 +205,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] = false, /* not the default */ powerpc_compatible, bfd_default_scan, - &bfd_powerpc_archs[7] + &bfd_powerpc_archs[9] }, { 64, /* 64 bits in a word */ @@ -160,7 +219,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] = false, /* not the default */ powerpc_compatible, bfd_default_scan, - &bfd_powerpc_archs[8] + &bfd_powerpc_archs[10] }, { 64, /* 64 bits in a word */ @@ -174,7 +233,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] = false, /* not the default */ powerpc_compatible, bfd_default_scan, - &bfd_powerpc_archs[9] + &bfd_powerpc_archs[11] }, { 64, /* 64 bits in a word */ @@ -188,7 +247,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] = false, /* not the default */ powerpc_compatible, bfd_default_scan, - &bfd_powerpc_archs[10] + &bfd_powerpc_archs[12] }, { 32, /* 32 bits in a word */ @@ -202,7 +261,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] = false, /* not the default */ powerpc_compatible, bfd_default_scan, - &bfd_powerpc_archs[11] + &bfd_powerpc_archs[13] }, { 32, /* 32 bits in a word */ @@ -216,34 +275,6 @@ const bfd_arch_info_type bfd_powerpc_archs[] = false, /* not the default */ powerpc_compatible, bfd_default_scan, - &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 */ - 8, /* 8 bits in a byte */ - bfd_arch_powerpc, - bfd_mach_ppc, /* for the POWER/PowerPC common architecture */ - "powerpc", - "powerpc:common", - 3, - BFD_DEFAULT_TARGET_SIZE != 64, /* default for 32 bit target */ - powerpc_compatible, - bfd_default_scan, 0 } }; |