[gdb] [rs6000] Add ppc64*_gnu_triplet_regexp methods.
authorWill Schmidt <will_schmidt@vnet.ibm.com>
Wed, 18 Aug 2021 16:43:45 +0000 (11:43 -0500)
committerWill Schmidt <will_schmidt@vnet.ibm.com>
Wed, 18 Aug 2021 16:43:45 +0000 (11:43 -0500)
Add methods to set the target triplet so we can
find the proper gcc when our gcc is named of
the form powerpc64{le}-<foo>-gcc or ppc64{le}-<foo>-gcc.

gdb/ppc-linux-tdep.c

index e62f45a35d80b28919d157790e83e5d9aacc725d..4be75d1035ee3a014d2fc3f6d8a09f1c81b01bba 100644 (file)
@@ -1973,6 +1973,30 @@ ppc_floatformat_for_type (struct gdbarch *gdbarch,
   return default_floatformat_for_type (gdbarch, name, len);
 }
 
+/* Specify the powerpc64le target triplet.
+   This can be variations of
+       ppc64le-{distro}-linux-gcc
+   and
+       powerpc64le-{distro}-linux-gcc.  */
+
+static const char *
+ppc64le_gnu_triplet_regexp (struct gdbarch *gdbarch)
+{
+  return "p(ower)?pc64le";
+}
+
+/* Specify the powerpc64 target triplet.
+   This can be variations of
+       ppc64-{distro}-linux-gcc
+   and
+       powerpc64-{distro}-linux-gcc.  */
+
+static const char *
+ppc64_gnu_triplet_regexp (struct gdbarch *gdbarch)
+{
+  return "p(ower)?pc64";
+}
+
 static void
 ppc_linux_init_abi (struct gdbarch_info info,
                    struct gdbarch *gdbarch)
@@ -2103,6 +2127,11 @@ ppc_linux_init_abi (struct gdbarch_info info,
        set_gdbarch_gcore_bfd_target (gdbarch, "elf64-powerpcle");
       else
        set_gdbarch_gcore_bfd_target (gdbarch, "elf64-powerpc");
+     /* Set compiler triplet.  */
+      if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_LITTLE)
+       set_gdbarch_gnu_triplet_regexp (gdbarch, ppc64le_gnu_triplet_regexp);
+      else
+       set_gdbarch_gnu_triplet_regexp (gdbarch, ppc64_gnu_triplet_regexp);
     }
 
   set_gdbarch_core_read_description (gdbarch, ppc_linux_core_read_description);