gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / bfd / cpu-hppa.c
index 8ec1f5bb6254e89e5309932356df0165641e3e35..d287c0672762fe0c251df35a0791831520fb9849 100644 (file)
@@ -1,5 +1,5 @@
 /* BFD support for the HP Precision Architecture architecture.
-   Copyright (C) 1992-2015 Free Software Foundation, Inc.
+   Copyright (C) 1992-2020 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
 #include "bfd.h"
 #include "libbfd.h"
 
+#define N(BITS, NUMBER, PRINT, DEFAULT, NEXT) \
+  {                                                    \
+    BITS,      /* Bits in a word.  */                  \
+    BITS,      /* Bits in an address.  */              \
+    8,        /* Bits in a byte.  */                   \
+    bfd_arch_hppa,                                     \
+    NUMBER,                                            \
+    "hppa",                                            \
+    PRINT,                                             \
+    3,         /* Section alignment power.  */         \
+    DEFAULT,                                           \
+    bfd_default_compatible,                            \
+    bfd_default_scan,                                  \
+    bfd_arch_default_fill,                             \
+    NEXT,                                              \
+    0 /* Maximum offset of a reloc from the start of an insn.  */ \
+  }
+
+
 static const bfd_arch_info_type bfd_hppa10_arch =
-{
-  32,                          /* 32 bits in a word */
-  32,                          /* 32 bits in an address */
-  8,                           /* 8 bits in a byte */
-  bfd_arch_hppa,
-  bfd_mach_hppa10,             /* By convention PA1.0 = 10 */
-  "hppa",
-  "hppa1.0",
-  3,
-  TRUE,                                /* Unless we use 1.1 specific features */
-  bfd_default_compatible,
-  bfd_default_scan,
-  bfd_arch_default_fill,
-  0,
-};
+  N (32, bfd_mach_hppa10, "hppa1.0", TRUE, NULL);
 
-/* PA2.0 in narrow mode */
+/* PA2.0 in narrow mode */
 static const bfd_arch_info_type bfd_hppa20_arch =
-{
-  32,                          /* 32 bits in a word */
-  32,                          /* 32 bits in an address */
-  8,                           /* 8 bits in a byte */
-  bfd_arch_hppa,
-  bfd_mach_hppa20,             /* By convention PA2.0 = 20 */
-  "hppa",
-  "hppa2.0",
-  3,
-  FALSE,                       /* Unless we use 1.1 specific features */
-  bfd_default_compatible,
-  bfd_default_scan,
-  bfd_arch_default_fill,
-  &bfd_hppa10_arch,
-};
+  N (32, bfd_mach_hppa20, "hppa2.0", FALSE, &bfd_hppa10_arch);
 
-/* PA2.0 in wide mode */
+/* PA2.0 in wide mode */
 static const bfd_arch_info_type bfd_hppa20w_arch =
-{
-  64,                          /* 64 bits in a word */
-  64,                          /* 64 bits in an address */
-  8,                           /* 8 bits in a byte */
-  bfd_arch_hppa,
-  bfd_mach_hppa20w,            /* ??? How best to describe wide mode here?  */
-  "hppa",
-  "hppa2.0w",
-  3,
-  FALSE,                       /* Unless we use 1.1 specific features */
-  bfd_default_compatible,
-  bfd_default_scan,
-  bfd_arch_default_fill,
-  &bfd_hppa20_arch,
-};
+  N (64, bfd_mach_hppa20w, "hppa2.0w", FALSE, &bfd_hppa20_arch);
 
 const bfd_arch_info_type bfd_hppa_arch =
-{
-  32,                          /* 32 bits in a word */
-  32,                          /* 32 bits in an address */
-  8,                           /* 8 bits in a byte */
-  bfd_arch_hppa,
-  bfd_mach_hppa11,             /* By convention PA1.1 = 11 */
-  "hppa",
-  "hppa1.1",
-  3,
-  FALSE,                       /* 1.1 specific features used */
-  bfd_default_compatible,
-  bfd_default_scan,
-  bfd_arch_default_fill,
-  &bfd_hppa20w_arch,
-};
+  N (32, bfd_mach_hppa11, "hppa1.1", FALSE, &bfd_hppa20w_arch);
This page took 0.028382 seconds and 4 git commands to generate.