[binutils, ARM, 8/16] BFL infrastructure with new global reloc R_ARM_THM_BF18
[deliverable/binutils-gdb.git] / bfd / cpu-powerpc.c
index d2acf2f9b0cdf0b93992f07dd55ae86e37debbcb..bfe4868159294c274034ca4b0298144f1ed82665 100644 (file)
@@ -1,5 +1,5 @@
 /* BFD PowerPC CPU definition
 /* BFD PowerPC CPU definition
-   Copyright (C) 1994-2015 Free Software Foundation, Inc.
+   Copyright (C) 1994-2019 Free Software Foundation, Inc.
    Contributed by Ian Lance Taylor, Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
    Contributed by Ian Lance Taylor, Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -35,6 +35,10 @@ powerpc_compatible (const bfd_arch_info_type *a,
     default:
       return NULL;
     case bfd_arch_powerpc:
     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)
       return bfd_default_compatible (a, b);
     case bfd_arch_rs6000:
       if (b->mach == bfd_mach_rs6k)
@@ -281,9 +285,9 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
     &bfd_powerpc_archs[13]
   },
   {
     &bfd_powerpc_archs[13]
   },
   {
-    32, /* 32 bits in a word */
-    32, /* 32 bits in an address */
-    8,  /* 8 bits in a byte */
+    32,        /* 32 bits in a word */
+    32,        /* 32 bits in an address */
+    8, /* 8 bits in a byte */
     bfd_arch_powerpc,
     bfd_mach_ppc_e500,
     "powerpc",
     bfd_arch_powerpc,
     bfd_mach_ppc_e500,
     "powerpc",
@@ -296,9 +300,9 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
     &bfd_powerpc_archs[14]
   },
   {
     &bfd_powerpc_archs[14]
   },
   {
-    32,        /* 32 bits in a word */
-    32,        /* 32 bits in an address */
-    8, /* 8 bits in a byte */
+    32,        /* 32 bits in a word */
+    32,        /* 32 bits in an address */
+    8, /* 8 bits in a byte */
     bfd_arch_powerpc,
     bfd_mach_ppc_e500mc,
     "powerpc",
     bfd_arch_powerpc,
     bfd_mach_ppc_e500mc,
     "powerpc",
@@ -311,9 +315,9 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
     &bfd_powerpc_archs[15]
   },
   {
     &bfd_powerpc_archs[15]
   },
   {
-    64, /* 64 bits in a word */
-    64, /* 64 bits in an address */
-    8,  /* 8 bits in a byte */
+    64,        /* 64 bits in a word */
+    64,        /* 64 bits in an address */
+    8, /* 8 bits in a byte */
     bfd_arch_powerpc,
     bfd_mach_ppc_e500mc64,
     "powerpc",
     bfd_arch_powerpc,
     bfd_mach_ppc_e500mc64,
     "powerpc",
@@ -326,9 +330,9 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
     &bfd_powerpc_archs[16]
   },
   {
     &bfd_powerpc_archs[16]
   },
   {
-    32,       /* 32 bits in a word */
-    32,       /* 32 bits in an address */
-    8,        /* 8 bits in a byte */
+    32,        /* 32 bits in a word */
+    32,        /* 32 bits in an address */
+    8, /* 8 bits in a byte */
     bfd_arch_powerpc,
     bfd_mach_ppc_860,
     "powerpc",
     bfd_arch_powerpc,
     bfd_mach_ppc_860,
     "powerpc",
@@ -341,9 +345,9 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
     &bfd_powerpc_archs[17]
   },
   {
     &bfd_powerpc_archs[17]
   },
   {
-    32, /* 32 bits in a word */
-    32, /* 32 bits in an address */
-    8,  /* 8 bits in a byte */
+    32,        /* 32 bits in a word */
+    32,        /* 32 bits in an address */
+    8, /* 8 bits in a byte */
     bfd_arch_powerpc,
     bfd_mach_ppc_750,
     "powerpc",
     bfd_arch_powerpc,
     bfd_mach_ppc_750,
     "powerpc",
@@ -356,9 +360,9 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
     &bfd_powerpc_archs[18]
   },
   {
     &bfd_powerpc_archs[18]
   },
   {
-    32, /* 32 bits in a word */
-    32, /* 32 bits in an address */
-    8,  /* 8 bits in a byte */
+    32,        /* 32 bits in a word */
+    32,        /* 32 bits in an address */
+    8, /* 8 bits in a byte */
     bfd_arch_powerpc,
     bfd_mach_ppc_titan,
     "powerpc",
     bfd_arch_powerpc,
     bfd_mach_ppc_titan,
     "powerpc",
@@ -371,9 +375,9 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
     &bfd_powerpc_archs[19]
   },
   {
     &bfd_powerpc_archs[19]
   },
   {
-    16, /* 16 or 32 bits in a word */
-    32, /* 32 bits in an address */
-    8,  /* 8 bits in a byte */
+    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",
     bfd_arch_powerpc,
     bfd_mach_ppc_vle,
     "powerpc",
@@ -386,9 +390,9 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
     &bfd_powerpc_archs[20]
   },
   {
     &bfd_powerpc_archs[20]
   },
   {
-    64, /* 64 bits in a word */
-    64, /* 64 bits in an address */
-    8,  /* 8 bits in a byte */
+    64,        /* 64 bits in a word */
+    64,        /* 64 bits in an address */
+    8, /* 8 bits in a byte */
     bfd_arch_powerpc,
     bfd_mach_ppc_e5500,
     "powerpc",
     bfd_arch_powerpc,
     bfd_mach_ppc_e5500,
     "powerpc",
@@ -401,9 +405,9 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
     &bfd_powerpc_archs[21]
   },
   {
     &bfd_powerpc_archs[21]
   },
   {
-    64, /* 64 bits in a word */
-    64, /* 64 bits in an address */
-    8,  /* 8 bits in a byte */
+    64,        /* 64 bits in a word */
+    64,        /* 64 bits in an address */
+    8, /* 8 bits in a byte */
     bfd_arch_powerpc,
     bfd_mach_ppc_e6500,
     "powerpc",
     bfd_arch_powerpc,
     bfd_mach_ppc_e6500,
     "powerpc",
This page took 0.036948 seconds and 4 git commands to generate.