Change regcache list to be an hash map
[deliverable/binutils-gdb.git] / bfd / cpu-arm.c
index 568fdbfaeec4622e202f7451721bf851bbda640b..0b7a8c45580d09f010a1062510fd8b1bf3b5cf4f 100644 (file)
@@ -1,5 +1,5 @@
 /* BFD support for the ARM processor
-   Copyright (C) 1994-2019 Free Software Foundation, Inc.
+   Copyright (C) 1994-2020 Free Software Foundation, Inc.
    Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -23,6 +23,7 @@
 #include "bfd.h"
 #include "libbfd.h"
 #include "libiberty.h"
+#include "cpu-arm.h"
 
 /* This routine is provided two arch_infos and works out which ARM
    machine which would be compatible with both and returns a pointer
@@ -147,12 +148,15 @@ processors[] =
   { bfd_mach_arm_8,      "cortex-a73"      },
   { bfd_mach_arm_8,      "cortex-a75"      },
   { bfd_mach_arm_8,      "cortex-a76"      },
+  { bfd_mach_arm_8,      "cortex-a76ae"    },
+  { bfd_mach_arm_8,      "cortex-a77"      },
   { bfd_mach_arm_6SM,    "cortex-m0"       },
   { bfd_mach_arm_6SM,    "cortex-m0plus"   },
   { bfd_mach_arm_6SM,    "cortex-m1"       },
   { bfd_mach_arm_8M_BASE, "cortex-m23"     },
   { bfd_mach_arm_7,      "cortex-m3"       },
   { bfd_mach_arm_8M_MAIN, "cortex-m33"     },
+  { bfd_mach_arm_8M_MAIN, "cortex-m35p"            },
   { bfd_mach_arm_7EM,    "cortex-m4"       },
   { bfd_mach_arm_7EM,    "cortex-m7"       },
   { bfd_mach_arm_7,      "cortex-r4"       },
@@ -218,7 +222,7 @@ scan (const struct bfd_arch_info *info, const char *string)
 
 #define N(number, print, default, next)  \
 {  32, 32, 8, bfd_arch_arm, number, "arm", print, 4, default, compatible, \
-   scan, bfd_arch_default_fill, next }
+    scan, bfd_arch_default_fill, next, 0 }
 
 static const bfd_arch_info_type arch_info_struct[] =
 {
@@ -248,6 +252,7 @@ static const bfd_arch_info_type arch_info_struct[] =
   N (bfd_mach_arm_8R,        "armv8-r",        FALSE, & arch_info_struct[24]),
   N (bfd_mach_arm_8M_BASE,   "armv8-m.base",   FALSE, & arch_info_struct[25]),
   N (bfd_mach_arm_8M_MAIN,   "armv8-m.main",   FALSE, & arch_info_struct[26]),
+  N (bfd_mach_arm_8_1M_MAIN, "armv8.1-m.main", FALSE, & arch_info_struct[27]),
   N (bfd_mach_arm_unknown,   "arm_any",        FALSE, NULL)
 };
 
@@ -295,8 +300,8 @@ bfd_arm_merge_machines (bfd *ibfd, bfd *obfd)
               || out == bfd_mach_arm_iWMMXt2))
     {
       /* xgettext: c-format */
-      _bfd_error_handler (_("\
-error: %pB is compiled for the EP9312, whereas %pB is compiled for XScale"),
+      _bfd_error_handler (_("error: %pB is compiled for the EP9312, "
+                           "whereas %pB is compiled for XScale"),
                          ibfd, obfd);
       bfd_set_error (bfd_error_wrong_format);
       return FALSE;
@@ -307,8 +312,8 @@ error: %pB is compiled for the EP9312, whereas %pB is compiled for XScale"),
               || in == bfd_mach_arm_iWMMXt2))
     {
       /* xgettext: c-format */
-      _bfd_error_handler (_("\
-error: %pB is compiled for the EP9312, whereas %pB is compiled for XScale"),
+      _bfd_error_handler (_("error: %pB is compiled for the EP9312, "
+                           "whereas %pB is compiled for XScale"),
                          obfd, ibfd);
       bfd_set_error (bfd_error_wrong_format);
       return FALSE;
@@ -453,8 +458,7 @@ bfd_arm_update_notes (bfd *abfd, const char *note_section)
   return TRUE;
 
  FAIL:
-  if (buffer != NULL)
-    free (buffer);
+  free (buffer);
   return FALSE;
 }
 
@@ -523,8 +527,7 @@ bfd_arm_get_mach_from_notes (bfd *abfd, const char *note_section)
       }
 
  FAIL:
-  if (buffer != NULL)
-    free (buffer);
+  free (buffer);
   return bfd_mach_arm_unknown;
 }
 
This page took 0.026393 seconds and 4 git commands to generate.