aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/arm-tdep.c14
2 files changed, 18 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 3de4e19..3e6a170 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2019-06-26 Alan Hayward <alan.hayward@arm.com>
+
+ * arm-tdep.c (arm_gnu_triplet_regexp): New function.
+ (arm_gdbarch_init): Add arm_gnu_triplet_regexp.
+
2019-06-25 Simon Marchi <simon.marchi@polymtl.ca>
* arm-tdep.c (struct arm_per_objfile) <section_maps_sorted>: New
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index 2ba77e2..039b2f0 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -8831,7 +8831,17 @@ arm_code_of_frame_writable (struct gdbarch *gdbarch, struct frame_info *frame)
return 1;
}
-
+/* Implement gdbarch_gnu_triplet_regexp. If the arch name is arm then allow it
+ to be postfixed by a version (eg armv7hl). */
+
+static const char *
+arm_gnu_triplet_regexp (struct gdbarch *gdbarch)
+{
+ if (strcmp (gdbarch_bfd_arch_info (gdbarch)->arch_name, "arm") == 0)
+ return "arm(v[^- ]*)?";
+ return gdbarch_bfd_arch_info (gdbarch)->arch_name;
+}
+
/* Initialize the current architecture based on INFO. If possible,
re-use an architecture from ARCHES, which is a list of
architectures already created during this debugging session.
@@ -9433,6 +9443,8 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_disassembler_options (gdbarch, &arm_disassembler_options);
set_gdbarch_valid_disassembler_options (gdbarch, disassembler_options_arm ());
+ set_gdbarch_gnu_triplet_regexp (gdbarch, arm_gnu_triplet_regexp);
+
return gdbarch;
}