aboutsummaryrefslogtreecommitdiff
path: root/gdb/features/arm/arm-vfpv2.c
diff options
context:
space:
mode:
authorAlan Hayward <alan.hayward@arm.com>2019-06-20 08:38:18 +0100
committerAlan Hayward <alan.hayward@arm.com>2019-07-10 14:20:49 +0100
commit89abbcc26d891425678b8b463bc1fa81273fb54c (patch)
tree129fb2faf4d44ec2315992cdbb42fba107176107 /gdb/features/arm/arm-vfpv2.c
parentb863685d70199489b3fe27abedfb1eb6d1452b7d (diff)
downloadgdb-89abbcc26d891425678b8b463bc1fa81273fb54c.zip
gdb-89abbcc26d891425678b8b463bc1fa81273fb54c.tar.gz
gdb-89abbcc26d891425678b8b463bc1fa81273fb54c.tar.bz2
Arm: Create feature files for Arm target descriptions
Add Arm to the list of feature target description targets and generate the relevant C files. Add arm-m-profile-with-fpa.xml as the feature version of the exisiting arm-with-m-fpa-layout.xml. Add extra comments to the Makefile for readability. New files are not yet used. gdb/ChangeLog: * features/Makefile: Use feature target descriptions for Arm. * features/arm/arm-core.c: Generate new file. * features/arm/arm-fpa.c: Likewise. * features/arm/arm-m-profile-with-fpa.xml: Likewise. * features/arm/arm-m-profile.c: Likewise. * features/arm/arm-vfpv2.c: Likewise. * features/arm/arm-vfpv3.c: Likewise. * features/arm/xscale-iwmmxt.c: Likewise. * target-descriptions.c (maint_print_c_tdesc_cmd): Add Arm.
Diffstat (limited to 'gdb/features/arm/arm-vfpv2.c')
-rw-r--r--gdb/features/arm/arm-vfpv2.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/gdb/features/arm/arm-vfpv2.c b/gdb/features/arm/arm-vfpv2.c
new file mode 100644
index 0000000..d6f8e79
--- /dev/null
+++ b/gdb/features/arm/arm-vfpv2.c
@@ -0,0 +1,30 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: arm-vfpv2.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_arm_arm_vfpv2 (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.arm.vfp");
+ tdesc_create_reg (feature, "d0", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d1", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d2", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d3", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d4", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d5", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d6", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d7", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d8", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d9", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d10", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d11", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d12", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d13", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d14", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "d15", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "fpscr", regnum++, 1, "float", 32, "int");
+ return regnum;
+}