X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Fcpu-powerpc.c;h=3e9ef8ab33ae1ae4f7d2f1dcdfd300ccea699f43;hb=5524b5250e319f41933605420e9526fb74cfb9ae;hp=19604c3b9785cc50d9a4bb3443f55eef60f14224;hpb=aea77599d0dbdb7c7ca87e52b86184cf67e71e49;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/cpu-powerpc.c b/bfd/cpu-powerpc.c index 19604c3b97..3e9ef8ab33 100644 --- a/bfd/cpu-powerpc.c +++ b/bfd/cpu-powerpc.c @@ -1,6 +1,5 @@ /* BFD PowerPC CPU definition - Copyright 1994, 1995, 1996, 2000, 2001, 2002, 2003, 2005, 2007, 2008, - 2010, 2012 Free Software Foundation, Inc. + Copyright (C) 1994-2017 Free Software Foundation, Inc. Contributed by Ian Lance Taylor, Cygnus Support. This file is part of BFD, the Binary File Descriptor library. @@ -26,13 +25,9 @@ /* The common PowerPC architecture is compatible with the RS/6000. */ -static const bfd_arch_info_type *powerpc_compatible - PARAMS ((const bfd_arch_info_type *, const bfd_arch_info_type *)); - static const bfd_arch_info_type * -powerpc_compatible (a,b) - const bfd_arch_info_type *a; - const bfd_arch_info_type *b; +powerpc_compatible (const bfd_arch_info_type *a, + const bfd_arch_info_type *b) { BFD_ASSERT (a->arch == bfd_arch_powerpc); switch (b->arch) @@ -40,6 +35,10 @@ powerpc_compatible (a,b) default: return NULL; case bfd_arch_powerpc: + if (a->mach == bfd_mach_ppc_vle && b->bits_per_word == 32) + return a; + if (b->mach == bfd_mach_ppc_vle && a->bits_per_word == 32) + return b; return bfd_default_compatible (a, b); case bfd_arch_rs6000: if (b->mach == bfd_mach_rs6k) @@ -375,6 +374,21 @@ const bfd_arch_info_type bfd_powerpc_archs[] = bfd_arch_default_fill, &bfd_powerpc_archs[19] }, + { + 16, /* 16 or 32 bits in a word */ + 32, /* 32 bits in an address */ + 8, /* 8 bits in a byte */ + bfd_arch_powerpc, + bfd_mach_ppc_vle, + "powerpc", + "powerpc:vle", + 3, + FALSE, /* not the default */ + powerpc_compatible, + bfd_default_scan, + bfd_arch_default_fill, + &bfd_powerpc_archs[20] + }, { 64, /* 64 bits in a word */ 64, /* 64 bits in an address */ @@ -388,7 +402,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] = powerpc_compatible, bfd_default_scan, bfd_arch_default_fill, - &bfd_powerpc_archs[20] + &bfd_powerpc_archs[21] }, { 64, /* 64 bits in a word */