public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [Patch]Clean up the XML files for ARM
@ 2014-06-11  6:46 Terry Guo
  2014-06-11  8:16 ` Will Newton
  0 siblings, 1 reply; 18+ messages in thread
From: Terry Guo @ 2014-06-11  6:46 UTC (permalink / raw)
  To: gdb-patches

[-- Attachment #1: Type: text/plain, Size: 2497 bytes --]

Hi There,

Under folder gdb/features we are having more and more ARM related XML files.
This patch intends to move those ARM XML files into a new folder named arm.
All the references to those files are now prefixed with folder name arm.
Please be noted that this doesn't include AArch64 XML files so far. Is it ok
to GDB trunk?

BR,
Terry

2014-06-11  Terry Guo  <terry.guo@arm.com>

     * features/arm-core.xml: Move to ...
     * features/arm/arm-core.xml: ... here.
     * features/arm-fpa.xml: Move to ...
     * features/arm/arm-fpa.xml: ... here.
     * features/arm-m-profile.xml: Move to ...
     * features/arm/arm-m-profile.xml: ... here.
     * features/arm-vfpv2.xml: Move to ...
     * features/arm/arm-vfpv2.xml: ... here.
     * features/arm-vfpv3.xml: Move to ...
     * features/arm/arm-vfpv3.xml: ... here.
     * features/arm-with-iwmmxt.xml: Move to ...
     * features/arm/arm-with-iwmmxt.xml: ... here.
     * features/arm-with-iwmmxt.c: Move to ...
     * features/arm/arm-with-iwmmxt.c: ... here.
     * features/arm-with-m.xml: Move to ...
     * features/arm/arm-with-m.xml: ... here.
     * features/arm-with-m.c: Move to ...
     * features/arm/arm-with-m.c: ... here.
     * features/arm-with-m-fpa-layout.xml: Move to ...
     * features/arm/arm-with-m-fpa-layout.xml: ... here.
     * features/arm-with-m-fpa-layout.c: Move to ...
     * features/arm/arm-with-m-fpa-layout.c: ... here.
     * features/arm-with-m-vfp-d16.xml: Move to ...
     * features/arm/arm-with-m-vfp-d16.xml: ... here.
     * features/arm-with-m-vfp-d16.c: Move to ...
     * features/arm/arm-with-m-vfp-d16.c: ... here.
     * features/arm-with-neon.xml: Move to ...
     * features/arm/arm-with-neon.xml: ... here.
     * features/arm-with-neon.c: Move to ...
     * features/arm/arm-with-neon.c: ... here.
     * features/arm-with-vfpv2.xml: Move to ...
     * features/arm/arm-with-vfpv2.xml: ... here.
     * features/arm-with-vfpv2.c: Move to ...
     * features/arm/arm-with-vfpv2.c: ... here.
     * features/arm-with-vfpv3.xml: Move to ...
     * features/arm/arm-with-vfpv3.xml: ... here.
     * features/arm-with-vfpv3.c: Move to ...
     * features/arm/arm-with-vfpv3.c: ... here.
     * features/Makefile: Use new paths to refer ARM files.
     * arm-tdep.c: Use new paths to include files.

gdb/gdbserver/ChangeLog:

2014-06-11  Terry Guo  <terry.guo@arm.com>

     * configure.srv: Use new paths to refer ARM XML files.

[-- Attachment #2: gdb-clean-xml-for-arm-v1.txt --]
[-- Type: text/plain, Size: 77536 bytes --]

diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index 74942b1..9ff3aac 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -59,13 +59,13 @@
 #include "record.h"
 #include "record-full.h"
 
-#include "features/arm-with-m.c"
-#include "features/arm-with-m-fpa-layout.c"
-#include "features/arm-with-m-vfp-d16.c"
-#include "features/arm-with-iwmmxt.c"
-#include "features/arm-with-vfpv2.c"
-#include "features/arm-with-vfpv3.c"
-#include "features/arm-with-neon.c"
+#include "features/arm/arm-with-m.c"
+#include "features/arm/arm-with-m-fpa-layout.c"
+#include "features/arm/arm-with-m-vfp-d16.c"
+#include "features/arm/arm-with-iwmmxt.c"
+#include "features/arm/arm-with-vfpv2.c"
+#include "features/arm/arm-with-vfpv3.c"
+#include "features/arm/arm-with-neon.c"
 
 static int arm_debug;
 
diff --git a/gdb/features/Makefile b/gdb/features/Makefile
index dbf4963..244a3c4 100644
--- a/gdb/features/Makefile
+++ b/gdb/features/Makefile
@@ -31,8 +31,8 @@
 #   make GDB=/path/to/gdb XMLTOC="xml files" cfiles
 
 WHICH = aarch64 \
-	arm-with-iwmmxt arm-with-vfpv2 arm-with-vfpv3 arm-with-neon \
-	arm-with-m arm-with-m-fpa-layout arm-with-m-vfp-d16 \
+	arm/arm-with-iwmmxt arm/arm-with-vfpv2 arm/arm-with-vfpv3 arm/arm-with-neon \
+	arm/arm-with-m arm/arm-with-m-fpa-layout arm/arm-with-m-vfp-d16 \
 	i386/i386 i386/i386-linux \
 	i386/i386-mmx i386/i386-mmx-linux \
 	i386/amd64 i386/amd64-linux \
@@ -61,7 +61,7 @@ WHICH = aarch64 \
 
 # Record which registers should be sent to GDB by default after stop.
 aarch64-expedite = x29,sp,pc
-arm-expedite = r11,sp,pc
+arm/arm-expedite = r11,sp,pc
 i386/i386-expedite = ebp,esp,eip
 i386/i386-linux-expedite = ebp,esp,eip
 i386/amd64-expedite = rbp,rsp,rip
@@ -141,7 +141,7 @@ cfiles: $(CFILES)
 	sh ../../move-if-change $@.tmp $@
 
 # Other dependencies.
-$(outdir)/arm-with-iwmmxt.dat: arm-core.xml xscale-iwmmxt.xml
+$(outdir)/arm/arm-with-iwmmxt.dat: arm/arm-core.xml arm/xscale-iwmmxt.xml
 $(outdir)/i386/i386.dat: i386/32bit-core.xml i386/32bit-sse.xml
 $(outdir)/i386/i386-linux.dat: i386/32bit-core.xml i386/32bit-sse.xml \
 			       i386/32bit-linux.xml
diff --git a/gdb/features/arm-core.xml b/gdb/features/arm-core.xml
deleted file mode 100644
index 422d9bd..0000000
--- a/gdb/features/arm-core.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
-
-     Copying and distribution of this file, with or without modification,
-     are permitted in any medium without royalty provided the copyright
-     notice and this notice are preserved.  -->
-
-<!DOCTYPE feature SYSTEM "gdb-target.dtd">
-<feature name="org.gnu.gdb.arm.core">
-  <reg name="r0" bitsize="32" type="uint32"/>
-  <reg name="r1" bitsize="32" type="uint32"/>
-  <reg name="r2" bitsize="32" type="uint32"/>
-  <reg name="r3" bitsize="32" type="uint32"/>
-  <reg name="r4" bitsize="32" type="uint32"/>
-  <reg name="r5" bitsize="32" type="uint32"/>
-  <reg name="r6" bitsize="32" type="uint32"/>
-  <reg name="r7" bitsize="32" type="uint32"/>
-  <reg name="r8" bitsize="32" type="uint32"/>
-  <reg name="r9" bitsize="32" type="uint32"/>
-  <reg name="r10" bitsize="32" type="uint32"/>
-  <reg name="r11" bitsize="32" type="uint32"/>
-  <reg name="r12" bitsize="32" type="uint32"/>
-  <reg name="sp" bitsize="32" type="data_ptr"/>
-  <reg name="lr" bitsize="32"/>
-  <reg name="pc" bitsize="32" type="code_ptr"/>
-
-  <!-- The CPSR is register 25, rather than register 16, because
-       the FPA registers historically were placed between the PC
-       and the CPSR in the "g" packet.  -->
-  <reg name="cpsr" bitsize="32" regnum="25"/>
-</feature>
diff --git a/gdb/features/arm-fpa.xml b/gdb/features/arm-fpa.xml
deleted file mode 100644
index 8e21450..0000000
--- a/gdb/features/arm-fpa.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
-
-     Copying and distribution of this file, with or without modification,
-     are permitted in any medium without royalty provided the copyright
-     notice and this notice are preserved.  -->
-
-<!DOCTYPE feature SYSTEM "gdb-target.dtd">
-<feature name="org.gnu.gdb.arm.fpa">
-  <!-- f0's regnum is set explicitly, because the FPA registers
-       historically were placed between the PC and the CPSR in the "g"
-       packet - in the middle of org.gnu.gdb.arm.core.  -->
-  <reg name="f0" bitsize="96" type="arm_fpa_ext" regnum="16"/>
-  <reg name="f1" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="f2" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="f3" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="f4" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="f5" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="f6" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="f7" bitsize="96" type="arm_fpa_ext"/>
-
-  <reg name="fps" bitsize="32"/>
-</feature>
diff --git a/gdb/features/arm-m-profile.xml b/gdb/features/arm-m-profile.xml
deleted file mode 100644
index 06d660a..0000000
--- a/gdb/features/arm-m-profile.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
-
-     Copying and distribution of this file, with or without modification,
-     are permitted in any medium without royalty provided the copyright
-     notice and this notice are preserved.  -->
-
-<!DOCTYPE feature SYSTEM "gdb-target.dtd">
-<feature name="org.gnu.gdb.arm.m-profile">
-  <reg name="r0" bitsize="32"/>
-  <reg name="r1" bitsize="32"/>
-  <reg name="r2" bitsize="32"/>
-  <reg name="r3" bitsize="32"/>
-  <reg name="r4" bitsize="32"/>
-  <reg name="r5" bitsize="32"/>
-  <reg name="r6" bitsize="32"/>
-  <reg name="r7" bitsize="32"/>
-  <reg name="r8" bitsize="32"/>
-  <reg name="r9" bitsize="32"/>
-  <reg name="r10" bitsize="32"/>
-  <reg name="r11" bitsize="32"/>
-  <reg name="r12" bitsize="32"/>
-  <reg name="sp" bitsize="32" type="data_ptr"/>
-  <reg name="lr" bitsize="32"/>
-  <reg name="pc" bitsize="32" type="code_ptr"/>
-  <reg name="xpsr" bitsize="32" regnum="25"/>
-</feature>
diff --git a/gdb/features/arm-vfpv2.xml b/gdb/features/arm-vfpv2.xml
deleted file mode 100644
index 5e552e0..0000000
--- a/gdb/features/arm-vfpv2.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
-
-     Copying and distribution of this file, with or without modification,
-     are permitted in any medium without royalty provided the copyright
-     notice and this notice are preserved.  -->
-
-<!DOCTYPE feature SYSTEM "gdb-target.dtd">
-<feature name="org.gnu.gdb.arm.vfp">
-  <reg name="d0" bitsize="64" type="ieee_double"/>
-  <reg name="d1" bitsize="64" type="ieee_double"/>
-  <reg name="d2" bitsize="64" type="ieee_double"/>
-  <reg name="d3" bitsize="64" type="ieee_double"/>
-  <reg name="d4" bitsize="64" type="ieee_double"/>
-  <reg name="d5" bitsize="64" type="ieee_double"/>
-  <reg name="d6" bitsize="64" type="ieee_double"/>
-  <reg name="d7" bitsize="64" type="ieee_double"/>
-  <reg name="d8" bitsize="64" type="ieee_double"/>
-  <reg name="d9" bitsize="64" type="ieee_double"/>
-  <reg name="d10" bitsize="64" type="ieee_double"/>
-  <reg name="d11" bitsize="64" type="ieee_double"/>
-  <reg name="d12" bitsize="64" type="ieee_double"/>
-  <reg name="d13" bitsize="64" type="ieee_double"/>
-  <reg name="d14" bitsize="64" type="ieee_double"/>
-  <reg name="d15" bitsize="64" type="ieee_double"/>
-
-  <reg name="fpscr" bitsize="32" type="int" group="float"/>
-</feature>
diff --git a/gdb/features/arm-vfpv3.xml b/gdb/features/arm-vfpv3.xml
deleted file mode 100644
index 4cd5983..0000000
--- a/gdb/features/arm-vfpv3.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
-
-     Copying and distribution of this file, with or without modification,
-     are permitted in any medium without royalty provided the copyright
-     notice and this notice are preserved.  -->
-
-<!DOCTYPE feature SYSTEM "gdb-target.dtd">
-<feature name="org.gnu.gdb.arm.vfp">
-  <reg name="d0" bitsize="64" type="ieee_double"/>
-  <reg name="d1" bitsize="64" type="ieee_double"/>
-  <reg name="d2" bitsize="64" type="ieee_double"/>
-  <reg name="d3" bitsize="64" type="ieee_double"/>
-  <reg name="d4" bitsize="64" type="ieee_double"/>
-  <reg name="d5" bitsize="64" type="ieee_double"/>
-  <reg name="d6" bitsize="64" type="ieee_double"/>
-  <reg name="d7" bitsize="64" type="ieee_double"/>
-  <reg name="d8" bitsize="64" type="ieee_double"/>
-  <reg name="d9" bitsize="64" type="ieee_double"/>
-  <reg name="d10" bitsize="64" type="ieee_double"/>
-  <reg name="d11" bitsize="64" type="ieee_double"/>
-  <reg name="d12" bitsize="64" type="ieee_double"/>
-  <reg name="d13" bitsize="64" type="ieee_double"/>
-  <reg name="d14" bitsize="64" type="ieee_double"/>
-  <reg name="d15" bitsize="64" type="ieee_double"/>
-  <reg name="d16" bitsize="64" type="ieee_double"/>
-  <reg name="d17" bitsize="64" type="ieee_double"/>
-  <reg name="d18" bitsize="64" type="ieee_double"/>
-  <reg name="d19" bitsize="64" type="ieee_double"/>
-  <reg name="d20" bitsize="64" type="ieee_double"/>
-  <reg name="d21" bitsize="64" type="ieee_double"/>
-  <reg name="d22" bitsize="64" type="ieee_double"/>
-  <reg name="d23" bitsize="64" type="ieee_double"/>
-  <reg name="d24" bitsize="64" type="ieee_double"/>
-  <reg name="d25" bitsize="64" type="ieee_double"/>
-  <reg name="d26" bitsize="64" type="ieee_double"/>
-  <reg name="d27" bitsize="64" type="ieee_double"/>
-  <reg name="d28" bitsize="64" type="ieee_double"/>
-  <reg name="d29" bitsize="64" type="ieee_double"/>
-  <reg name="d30" bitsize="64" type="ieee_double"/>
-  <reg name="d31" bitsize="64" type="ieee_double"/>
-
-  <reg name="fpscr" bitsize="32" type="int" group="float"/>
-</feature>
diff --git a/gdb/features/arm-with-iwmmxt.c b/gdb/features/arm-with-iwmmxt.c
deleted file mode 100644
index 1770e03..0000000
--- a/gdb/features/arm-with-iwmmxt.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-iwmmxt.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_arm_with_iwmmxt;
-static void
-initialize_tdesc_arm_with_iwmmxt (void)
-{
-  struct target_desc *result = allocate_target_description ();
-  struct tdesc_feature *feature;
-  struct tdesc_type *field_type;
-  struct tdesc_type *type;
-
-  set_tdesc_architecture (result, bfd_scan_arch ("iwmmxt"));
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.core");
-  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
-  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
-  tdesc_create_reg (feature, "cpsr", 25, 1, NULL, 32, "int");
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.xscale.iwmmxt");
-  field_type = tdesc_named_type (feature, "uint8");
-  tdesc_create_vector (feature, "iwmmxt_v8u8", field_type, 8);
-
-  field_type = tdesc_named_type (feature, "uint16");
-  tdesc_create_vector (feature, "iwmmxt_v4u16", field_type, 4);
-
-  field_type = tdesc_named_type (feature, "uint32");
-  tdesc_create_vector (feature, "iwmmxt_v2u32", field_type, 2);
-
-  type = tdesc_create_union (feature, "iwmmxt_vec64i");
-  field_type = tdesc_named_type (feature, "iwmmxt_v8u8");
-  tdesc_add_field (type, "u8", field_type);
-  field_type = tdesc_named_type (feature, "iwmmxt_v4u16");
-  tdesc_add_field (type, "u16", field_type);
-  field_type = tdesc_named_type (feature, "iwmmxt_v2u32");
-  tdesc_add_field (type, "u32", field_type);
-  field_type = tdesc_named_type (feature, "uint64");
-  tdesc_add_field (type, "u64", field_type);
-
-  tdesc_create_reg (feature, "wR0", 26, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR1", 27, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR2", 28, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR3", 29, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR4", 30, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR5", 31, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR6", 32, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR7", 33, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR8", 34, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR9", 35, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR10", 36, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR11", 37, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR12", 38, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR13", 39, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR14", 40, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR15", 41, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wCSSF", 42, 1, "vector", 32, "int");
-  tdesc_create_reg (feature, "wCASF", 43, 1, "vector", 32, "int");
-  tdesc_create_reg (feature, "wCGR0", 44, 1, "vector", 32, "int");
-  tdesc_create_reg (feature, "wCGR1", 45, 1, "vector", 32, "int");
-  tdesc_create_reg (feature, "wCGR2", 46, 1, "vector", 32, "int");
-  tdesc_create_reg (feature, "wCGR3", 47, 1, "vector", 32, "int");
-
-  tdesc_arm_with_iwmmxt = result;
-}
diff --git a/gdb/features/arm-with-iwmmxt.xml b/gdb/features/arm-with-iwmmxt.xml
deleted file mode 100644
index 5adadee..0000000
--- a/gdb/features/arm-with-iwmmxt.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
-
-     Copying and distribution of this file, with or without modification,
-     are permitted in any medium without royalty provided the copyright
-     notice and this notice are preserved.  -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
-  <architecture>iwmmxt</architecture>
-  <xi:include href="arm-core.xml"/>
-  <xi:include href="xscale-iwmmxt.xml"/>
-</target>
diff --git a/gdb/features/arm-with-m-fpa-layout.c b/gdb/features/arm-with-m-fpa-layout.c
deleted file mode 100644
index bc51f05..0000000
--- a/gdb/features/arm-with-m-fpa-layout.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-m-fpa-layout.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_arm_with_m_fpa_layout;
-static void
-initialize_tdesc_arm_with_m_fpa_layout (void)
-{
-  struct target_desc *result = allocate_target_description ();
-  struct tdesc_feature *feature;
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.m-profile");
-  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
-  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
-  tdesc_create_reg (feature, "", 16, 1, NULL, 96, "arm_fpa_ext");
-  tdesc_create_reg (feature, "", 17, 1, NULL, 96, "arm_fpa_ext");
-  tdesc_create_reg (feature, "", 18, 1, NULL, 96, "arm_fpa_ext");
-  tdesc_create_reg (feature, "", 19, 1, NULL, 96, "arm_fpa_ext");
-  tdesc_create_reg (feature, "", 20, 1, NULL, 96, "arm_fpa_ext");
-  tdesc_create_reg (feature, "", 21, 1, NULL, 96, "arm_fpa_ext");
-  tdesc_create_reg (feature, "", 22, 1, NULL, 96, "arm_fpa_ext");
-  tdesc_create_reg (feature, "", 23, 1, NULL, 96, "arm_fpa_ext");
-  tdesc_create_reg (feature, "", 24, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "xpsr", 25, 1, NULL, 32, "int");
-
-  tdesc_arm_with_m_fpa_layout = result;
-}
diff --git a/gdb/features/arm-with-m-fpa-layout.xml b/gdb/features/arm-with-m-fpa-layout.xml
deleted file mode 100644
index 18b5b0a..0000000
--- a/gdb/features/arm-with-m-fpa-layout.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
-
-     Copying and distribution of this file, with or without modification,
-     are permitted in any medium without royalty provided the copyright
-     notice and this notice are preserved.  -->
-
-<!-- A target description for an M-profile device, for stubs that
-     transfer registers using the historical fpa layout.  -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
-<feature name="org.gnu.gdb.arm.m-profile">
-  <reg name="r0" bitsize="32"/>
-  <reg name="r1" bitsize="32"/>
-  <reg name="r2" bitsize="32"/>
-  <reg name="r3" bitsize="32"/>
-  <reg name="r4" bitsize="32"/>
-  <reg name="r5" bitsize="32"/>
-  <reg name="r6" bitsize="32"/>
-  <reg name="r7" bitsize="32"/>
-  <reg name="r8" bitsize="32"/>
-  <reg name="r9" bitsize="32"/>
-  <reg name="r10" bitsize="32"/>
-  <reg name="r11" bitsize="32"/>
-  <reg name="r12" bitsize="32"/>
-  <reg name="sp" bitsize="32" type="data_ptr"/>
-  <reg name="lr" bitsize="32"/>
-  <reg name="pc" bitsize="32" type="code_ptr"/>
-
-  <!-- Slack for unused FPA registers (f0-f7 + fps).
-       See arm-fpa.xml.  -->
-  <reg name="" bitsize="96" type="arm_fpa_ext" regnum="16"/>
-  <reg name="" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="" bitsize="32"/>
-
-  <reg name="xpsr" bitsize="32" regnum="25"/>
-</feature>
-</target>
diff --git a/gdb/features/arm-with-m-vfp-d16.c b/gdb/features/arm-with-m-vfp-d16.c
deleted file mode 100644
index a0da583..0000000
--- a/gdb/features/arm-with-m-vfp-d16.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-m-vfp-d16.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_arm_with_m_vfp_d16;
-static void
-initialize_tdesc_arm_with_m_vfp_d16 (void)
-{
-  struct target_desc *result = allocate_target_description ();
-  struct tdesc_feature *feature;
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.m-profile");
-  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
-  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
-  tdesc_create_reg (feature, "xpsr", 25, 1, NULL, 32, "int");
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.vfp");
-  tdesc_create_reg (feature, "d0", 26, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d1", 27, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d2", 28, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d3", 29, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d4", 30, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d5", 31, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d6", 32, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d7", 33, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d8", 34, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d9", 35, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d10", 36, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d11", 37, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d12", 38, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d13", 39, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d14", 40, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d15", 41, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "fpscr", 42, 1, "float", 32, "int");
-
-  tdesc_arm_with_m_vfp_d16 = result;
-}
diff --git a/gdb/features/arm-with-m-vfp-d16.xml b/gdb/features/arm-with-m-vfp-d16.xml
deleted file mode 100644
index a6527ab..0000000
--- a/gdb/features/arm-with-m-vfp-d16.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
-
-     Copying and distribution of this file, with or without modification,
-     are permitted in any medium without royalty provided the copyright
-     notice and this notice are preserved.  -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
-  <xi:include href="arm-m-profile.xml"/>
-  <!-- Layout of vfpv4-sp-d16 is identical to vfpv2 -->
-  <xi:include href="arm-vfpv2.xml"/>
-</target>
diff --git a/gdb/features/arm-with-m.c b/gdb/features/arm-with-m.c
deleted file mode 100644
index 8e27a80..0000000
--- a/gdb/features/arm-with-m.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-m.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_arm_with_m;
-static void
-initialize_tdesc_arm_with_m (void)
-{
-  struct target_desc *result = allocate_target_description ();
-  struct tdesc_feature *feature;
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.m-profile");
-  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
-  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
-  tdesc_create_reg (feature, "xpsr", 25, 1, NULL, 32, "int");
-
-  tdesc_arm_with_m = result;
-}
diff --git a/gdb/features/arm-with-m.xml b/gdb/features/arm-with-m.xml
deleted file mode 100644
index 6b82405..0000000
--- a/gdb/features/arm-with-m.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
-
-     Copying and distribution of this file, with or without modification,
-     are permitted in any medium without royalty provided the copyright
-     notice and this notice are preserved.  -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
-  <xi:include href="arm-m-profile.xml"/>
-</target>
diff --git a/gdb/features/arm-with-neon.c b/gdb/features/arm-with-neon.c
deleted file mode 100644
index 61c9a3a..0000000
--- a/gdb/features/arm-with-neon.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-neon.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_arm_with_neon;
-static void
-initialize_tdesc_arm_with_neon (void)
-{
-  struct target_desc *result = allocate_target_description ();
-  struct tdesc_feature *feature;
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.core");
-  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
-  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
-  tdesc_create_reg (feature, "cpsr", 25, 1, NULL, 32, "int");
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.vfp");
-  tdesc_create_reg (feature, "d0", 26, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d1", 27, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d2", 28, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d3", 29, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d4", 30, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d5", 31, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d6", 32, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d7", 33, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d8", 34, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d9", 35, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d10", 36, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d11", 37, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d12", 38, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d13", 39, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d14", 40, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d15", 41, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d16", 42, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d17", 43, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d18", 44, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d19", 45, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d20", 46, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d21", 47, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d22", 48, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d23", 49, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d24", 50, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d25", 51, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d26", 52, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d27", 53, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d28", 54, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d29", 55, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d30", 56, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d31", 57, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "fpscr", 58, 1, "float", 32, "int");
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.neon");
-
-  tdesc_arm_with_neon = result;
-}
diff --git a/gdb/features/arm-with-neon.xml b/gdb/features/arm-with-neon.xml
deleted file mode 100644
index 53d1618..0000000
--- a/gdb/features/arm-with-neon.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
-
-     Copying and distribution of this file, with or without modification,
-     are permitted in any medium without royalty provided the copyright
-     notice and this notice are preserved.  -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
-  <xi:include href="arm-core.xml"/>
-  <xi:include href="arm-vfpv3.xml"/>
-  <feature name="org.gnu.gdb.arm.neon"/>
-</target>
diff --git a/gdb/features/arm-with-vfpv2.c b/gdb/features/arm-with-vfpv2.c
deleted file mode 100644
index 78e3c81..0000000
--- a/gdb/features/arm-with-vfpv2.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-vfpv2.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_arm_with_vfpv2;
-static void
-initialize_tdesc_arm_with_vfpv2 (void)
-{
-  struct target_desc *result = allocate_target_description ();
-  struct tdesc_feature *feature;
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.core");
-  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
-  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
-  tdesc_create_reg (feature, "cpsr", 25, 1, NULL, 32, "int");
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.vfp");
-  tdesc_create_reg (feature, "d0", 26, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d1", 27, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d2", 28, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d3", 29, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d4", 30, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d5", 31, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d6", 32, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d7", 33, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d8", 34, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d9", 35, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d10", 36, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d11", 37, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d12", 38, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d13", 39, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d14", 40, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d15", 41, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "fpscr", 42, 1, "float", 32, "int");
-
-  tdesc_arm_with_vfpv2 = result;
-}
diff --git a/gdb/features/arm-with-vfpv2.xml b/gdb/features/arm-with-vfpv2.xml
deleted file mode 100644
index 98a5a1c..0000000
--- a/gdb/features/arm-with-vfpv2.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
-
-     Copying and distribution of this file, with or without modification,
-     are permitted in any medium without royalty provided the copyright
-     notice and this notice are preserved.  -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
-  <xi:include href="arm-core.xml"/>
-  <xi:include href="arm-vfpv2.xml"/>
-</target>
diff --git a/gdb/features/arm-with-vfpv3.c b/gdb/features/arm-with-vfpv3.c
deleted file mode 100644
index e48ca79..0000000
--- a/gdb/features/arm-with-vfpv3.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-vfpv3.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_arm_with_vfpv3;
-static void
-initialize_tdesc_arm_with_vfpv3 (void)
-{
-  struct target_desc *result = allocate_target_description ();
-  struct tdesc_feature *feature;
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.core");
-  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
-  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
-  tdesc_create_reg (feature, "cpsr", 25, 1, NULL, 32, "int");
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.vfp");
-  tdesc_create_reg (feature, "d0", 26, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d1", 27, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d2", 28, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d3", 29, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d4", 30, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d5", 31, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d6", 32, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d7", 33, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d8", 34, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d9", 35, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d10", 36, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d11", 37, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d12", 38, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d13", 39, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d14", 40, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d15", 41, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d16", 42, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d17", 43, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d18", 44, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d19", 45, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d20", 46, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d21", 47, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d22", 48, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d23", 49, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d24", 50, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d25", 51, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d26", 52, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d27", 53, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d28", 54, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d29", 55, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d30", 56, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d31", 57, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "fpscr", 58, 1, "float", 32, "int");
-
-  tdesc_arm_with_vfpv3 = result;
-}
diff --git a/gdb/features/arm-with-vfpv3.xml b/gdb/features/arm-with-vfpv3.xml
deleted file mode 100644
index aa39548..0000000
--- a/gdb/features/arm-with-vfpv3.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
-
-     Copying and distribution of this file, with or without modification,
-     are permitted in any medium without royalty provided the copyright
-     notice and this notice are preserved.  -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
-  <xi:include href="arm-core.xml"/>
-  <xi:include href="arm-vfpv3.xml"/>
-</target>
diff --git a/gdb/features/arm/arm-core.xml b/gdb/features/arm/arm-core.xml
new file mode 100644
index 0000000..422d9bd
--- /dev/null
+++ b/gdb/features/arm/arm-core.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.arm.core">
+  <reg name="r0" bitsize="32" type="uint32"/>
+  <reg name="r1" bitsize="32" type="uint32"/>
+  <reg name="r2" bitsize="32" type="uint32"/>
+  <reg name="r3" bitsize="32" type="uint32"/>
+  <reg name="r4" bitsize="32" type="uint32"/>
+  <reg name="r5" bitsize="32" type="uint32"/>
+  <reg name="r6" bitsize="32" type="uint32"/>
+  <reg name="r7" bitsize="32" type="uint32"/>
+  <reg name="r8" bitsize="32" type="uint32"/>
+  <reg name="r9" bitsize="32" type="uint32"/>
+  <reg name="r10" bitsize="32" type="uint32"/>
+  <reg name="r11" bitsize="32" type="uint32"/>
+  <reg name="r12" bitsize="32" type="uint32"/>
+  <reg name="sp" bitsize="32" type="data_ptr"/>
+  <reg name="lr" bitsize="32"/>
+  <reg name="pc" bitsize="32" type="code_ptr"/>
+
+  <!-- The CPSR is register 25, rather than register 16, because
+       the FPA registers historically were placed between the PC
+       and the CPSR in the "g" packet.  -->
+  <reg name="cpsr" bitsize="32" regnum="25"/>
+</feature>
diff --git a/gdb/features/arm/arm-fpa.xml b/gdb/features/arm/arm-fpa.xml
new file mode 100644
index 0000000..8e21450
--- /dev/null
+++ b/gdb/features/arm/arm-fpa.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.arm.fpa">
+  <!-- f0's regnum is set explicitly, because the FPA registers
+       historically were placed between the PC and the CPSR in the "g"
+       packet - in the middle of org.gnu.gdb.arm.core.  -->
+  <reg name="f0" bitsize="96" type="arm_fpa_ext" regnum="16"/>
+  <reg name="f1" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="f2" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="f3" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="f4" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="f5" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="f6" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="f7" bitsize="96" type="arm_fpa_ext"/>
+
+  <reg name="fps" bitsize="32"/>
+</feature>
diff --git a/gdb/features/arm/arm-m-profile.xml b/gdb/features/arm/arm-m-profile.xml
new file mode 100644
index 0000000..06d660a
--- /dev/null
+++ b/gdb/features/arm/arm-m-profile.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.arm.m-profile">
+  <reg name="r0" bitsize="32"/>
+  <reg name="r1" bitsize="32"/>
+  <reg name="r2" bitsize="32"/>
+  <reg name="r3" bitsize="32"/>
+  <reg name="r4" bitsize="32"/>
+  <reg name="r5" bitsize="32"/>
+  <reg name="r6" bitsize="32"/>
+  <reg name="r7" bitsize="32"/>
+  <reg name="r8" bitsize="32"/>
+  <reg name="r9" bitsize="32"/>
+  <reg name="r10" bitsize="32"/>
+  <reg name="r11" bitsize="32"/>
+  <reg name="r12" bitsize="32"/>
+  <reg name="sp" bitsize="32" type="data_ptr"/>
+  <reg name="lr" bitsize="32"/>
+  <reg name="pc" bitsize="32" type="code_ptr"/>
+  <reg name="xpsr" bitsize="32" regnum="25"/>
+</feature>
diff --git a/gdb/features/arm/arm-vfpv2.xml b/gdb/features/arm/arm-vfpv2.xml
new file mode 100644
index 0000000..5e552e0
--- /dev/null
+++ b/gdb/features/arm/arm-vfpv2.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.arm.vfp">
+  <reg name="d0" bitsize="64" type="ieee_double"/>
+  <reg name="d1" bitsize="64" type="ieee_double"/>
+  <reg name="d2" bitsize="64" type="ieee_double"/>
+  <reg name="d3" bitsize="64" type="ieee_double"/>
+  <reg name="d4" bitsize="64" type="ieee_double"/>
+  <reg name="d5" bitsize="64" type="ieee_double"/>
+  <reg name="d6" bitsize="64" type="ieee_double"/>
+  <reg name="d7" bitsize="64" type="ieee_double"/>
+  <reg name="d8" bitsize="64" type="ieee_double"/>
+  <reg name="d9" bitsize="64" type="ieee_double"/>
+  <reg name="d10" bitsize="64" type="ieee_double"/>
+  <reg name="d11" bitsize="64" type="ieee_double"/>
+  <reg name="d12" bitsize="64" type="ieee_double"/>
+  <reg name="d13" bitsize="64" type="ieee_double"/>
+  <reg name="d14" bitsize="64" type="ieee_double"/>
+  <reg name="d15" bitsize="64" type="ieee_double"/>
+
+  <reg name="fpscr" bitsize="32" type="int" group="float"/>
+</feature>
diff --git a/gdb/features/arm/arm-vfpv3.xml b/gdb/features/arm/arm-vfpv3.xml
new file mode 100644
index 0000000..4cd5983
--- /dev/null
+++ b/gdb/features/arm/arm-vfpv3.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.arm.vfp">
+  <reg name="d0" bitsize="64" type="ieee_double"/>
+  <reg name="d1" bitsize="64" type="ieee_double"/>
+  <reg name="d2" bitsize="64" type="ieee_double"/>
+  <reg name="d3" bitsize="64" type="ieee_double"/>
+  <reg name="d4" bitsize="64" type="ieee_double"/>
+  <reg name="d5" bitsize="64" type="ieee_double"/>
+  <reg name="d6" bitsize="64" type="ieee_double"/>
+  <reg name="d7" bitsize="64" type="ieee_double"/>
+  <reg name="d8" bitsize="64" type="ieee_double"/>
+  <reg name="d9" bitsize="64" type="ieee_double"/>
+  <reg name="d10" bitsize="64" type="ieee_double"/>
+  <reg name="d11" bitsize="64" type="ieee_double"/>
+  <reg name="d12" bitsize="64" type="ieee_double"/>
+  <reg name="d13" bitsize="64" type="ieee_double"/>
+  <reg name="d14" bitsize="64" type="ieee_double"/>
+  <reg name="d15" bitsize="64" type="ieee_double"/>
+  <reg name="d16" bitsize="64" type="ieee_double"/>
+  <reg name="d17" bitsize="64" type="ieee_double"/>
+  <reg name="d18" bitsize="64" type="ieee_double"/>
+  <reg name="d19" bitsize="64" type="ieee_double"/>
+  <reg name="d20" bitsize="64" type="ieee_double"/>
+  <reg name="d21" bitsize="64" type="ieee_double"/>
+  <reg name="d22" bitsize="64" type="ieee_double"/>
+  <reg name="d23" bitsize="64" type="ieee_double"/>
+  <reg name="d24" bitsize="64" type="ieee_double"/>
+  <reg name="d25" bitsize="64" type="ieee_double"/>
+  <reg name="d26" bitsize="64" type="ieee_double"/>
+  <reg name="d27" bitsize="64" type="ieee_double"/>
+  <reg name="d28" bitsize="64" type="ieee_double"/>
+  <reg name="d29" bitsize="64" type="ieee_double"/>
+  <reg name="d30" bitsize="64" type="ieee_double"/>
+  <reg name="d31" bitsize="64" type="ieee_double"/>
+
+  <reg name="fpscr" bitsize="32" type="int" group="float"/>
+</feature>
diff --git a/gdb/features/arm/arm-with-iwmmxt.c b/gdb/features/arm/arm-with-iwmmxt.c
new file mode 100644
index 0000000..1770e03
--- /dev/null
+++ b/gdb/features/arm/arm-with-iwmmxt.c
@@ -0,0 +1,82 @@
+/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
+  Original: arm-with-iwmmxt.xml */
+
+#include "defs.h"
+#include "osabi.h"
+#include "target-descriptions.h"
+
+struct target_desc *tdesc_arm_with_iwmmxt;
+static void
+initialize_tdesc_arm_with_iwmmxt (void)
+{
+  struct target_desc *result = allocate_target_description ();
+  struct tdesc_feature *feature;
+  struct tdesc_type *field_type;
+  struct tdesc_type *type;
+
+  set_tdesc_architecture (result, bfd_scan_arch ("iwmmxt"));
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.core");
+  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
+  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
+  tdesc_create_reg (feature, "cpsr", 25, 1, NULL, 32, "int");
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.xscale.iwmmxt");
+  field_type = tdesc_named_type (feature, "uint8");
+  tdesc_create_vector (feature, "iwmmxt_v8u8", field_type, 8);
+
+  field_type = tdesc_named_type (feature, "uint16");
+  tdesc_create_vector (feature, "iwmmxt_v4u16", field_type, 4);
+
+  field_type = tdesc_named_type (feature, "uint32");
+  tdesc_create_vector (feature, "iwmmxt_v2u32", field_type, 2);
+
+  type = tdesc_create_union (feature, "iwmmxt_vec64i");
+  field_type = tdesc_named_type (feature, "iwmmxt_v8u8");
+  tdesc_add_field (type, "u8", field_type);
+  field_type = tdesc_named_type (feature, "iwmmxt_v4u16");
+  tdesc_add_field (type, "u16", field_type);
+  field_type = tdesc_named_type (feature, "iwmmxt_v2u32");
+  tdesc_add_field (type, "u32", field_type);
+  field_type = tdesc_named_type (feature, "uint64");
+  tdesc_add_field (type, "u64", field_type);
+
+  tdesc_create_reg (feature, "wR0", 26, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR1", 27, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR2", 28, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR3", 29, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR4", 30, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR5", 31, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR6", 32, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR7", 33, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR8", 34, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR9", 35, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR10", 36, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR11", 37, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR12", 38, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR13", 39, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR14", 40, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR15", 41, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wCSSF", 42, 1, "vector", 32, "int");
+  tdesc_create_reg (feature, "wCASF", 43, 1, "vector", 32, "int");
+  tdesc_create_reg (feature, "wCGR0", 44, 1, "vector", 32, "int");
+  tdesc_create_reg (feature, "wCGR1", 45, 1, "vector", 32, "int");
+  tdesc_create_reg (feature, "wCGR2", 46, 1, "vector", 32, "int");
+  tdesc_create_reg (feature, "wCGR3", 47, 1, "vector", 32, "int");
+
+  tdesc_arm_with_iwmmxt = result;
+}
diff --git a/gdb/features/arm/arm-with-iwmmxt.xml b/gdb/features/arm/arm-with-iwmmxt.xml
new file mode 100644
index 0000000..5adadee
--- /dev/null
+++ b/gdb/features/arm/arm-with-iwmmxt.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+  <architecture>iwmmxt</architecture>
+  <xi:include href="arm-core.xml"/>
+  <xi:include href="xscale-iwmmxt.xml"/>
+</target>
diff --git a/gdb/features/arm/arm-with-m-fpa-layout.c b/gdb/features/arm/arm-with-m-fpa-layout.c
new file mode 100644
index 0000000..bc51f05
--- /dev/null
+++ b/gdb/features/arm/arm-with-m-fpa-layout.c
@@ -0,0 +1,44 @@
+/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
+  Original: arm-with-m-fpa-layout.xml */
+
+#include "defs.h"
+#include "osabi.h"
+#include "target-descriptions.h"
+
+struct target_desc *tdesc_arm_with_m_fpa_layout;
+static void
+initialize_tdesc_arm_with_m_fpa_layout (void)
+{
+  struct target_desc *result = allocate_target_description ();
+  struct tdesc_feature *feature;
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.m-profile");
+  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
+  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
+  tdesc_create_reg (feature, "", 16, 1, NULL, 96, "arm_fpa_ext");
+  tdesc_create_reg (feature, "", 17, 1, NULL, 96, "arm_fpa_ext");
+  tdesc_create_reg (feature, "", 18, 1, NULL, 96, "arm_fpa_ext");
+  tdesc_create_reg (feature, "", 19, 1, NULL, 96, "arm_fpa_ext");
+  tdesc_create_reg (feature, "", 20, 1, NULL, 96, "arm_fpa_ext");
+  tdesc_create_reg (feature, "", 21, 1, NULL, 96, "arm_fpa_ext");
+  tdesc_create_reg (feature, "", 22, 1, NULL, 96, "arm_fpa_ext");
+  tdesc_create_reg (feature, "", 23, 1, NULL, 96, "arm_fpa_ext");
+  tdesc_create_reg (feature, "", 24, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "xpsr", 25, 1, NULL, 32, "int");
+
+  tdesc_arm_with_m_fpa_layout = result;
+}
diff --git a/gdb/features/arm/arm-with-m-fpa-layout.xml b/gdb/features/arm/arm-with-m-fpa-layout.xml
new file mode 100644
index 0000000..18b5b0a
--- /dev/null
+++ b/gdb/features/arm/arm-with-m-fpa-layout.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!-- A target description for an M-profile device, for stubs that
+     transfer registers using the historical fpa layout.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+<feature name="org.gnu.gdb.arm.m-profile">
+  <reg name="r0" bitsize="32"/>
+  <reg name="r1" bitsize="32"/>
+  <reg name="r2" bitsize="32"/>
+  <reg name="r3" bitsize="32"/>
+  <reg name="r4" bitsize="32"/>
+  <reg name="r5" bitsize="32"/>
+  <reg name="r6" bitsize="32"/>
+  <reg name="r7" bitsize="32"/>
+  <reg name="r8" bitsize="32"/>
+  <reg name="r9" bitsize="32"/>
+  <reg name="r10" bitsize="32"/>
+  <reg name="r11" bitsize="32"/>
+  <reg name="r12" bitsize="32"/>
+  <reg name="sp" bitsize="32" type="data_ptr"/>
+  <reg name="lr" bitsize="32"/>
+  <reg name="pc" bitsize="32" type="code_ptr"/>
+
+  <!-- Slack for unused FPA registers (f0-f7 + fps).
+       See arm-fpa.xml.  -->
+  <reg name="" bitsize="96" type="arm_fpa_ext" regnum="16"/>
+  <reg name="" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="" bitsize="32"/>
+
+  <reg name="xpsr" bitsize="32" regnum="25"/>
+</feature>
+</target>
diff --git a/gdb/features/arm/arm-with-m-vfp-d16.c b/gdb/features/arm/arm-with-m-vfp-d16.c
new file mode 100644
index 0000000..a0da583
--- /dev/null
+++ b/gdb/features/arm/arm-with-m-vfp-d16.c
@@ -0,0 +1,54 @@
+/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
+  Original: arm-with-m-vfp-d16.xml */
+
+#include "defs.h"
+#include "osabi.h"
+#include "target-descriptions.h"
+
+struct target_desc *tdesc_arm_with_m_vfp_d16;
+static void
+initialize_tdesc_arm_with_m_vfp_d16 (void)
+{
+  struct target_desc *result = allocate_target_description ();
+  struct tdesc_feature *feature;
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.m-profile");
+  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
+  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
+  tdesc_create_reg (feature, "xpsr", 25, 1, NULL, 32, "int");
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.vfp");
+  tdesc_create_reg (feature, "d0", 26, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d1", 27, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d2", 28, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d3", 29, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d4", 30, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d5", 31, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d6", 32, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d7", 33, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d8", 34, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d9", 35, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d10", 36, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d11", 37, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d12", 38, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d13", 39, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d14", 40, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d15", 41, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "fpscr", 42, 1, "float", 32, "int");
+
+  tdesc_arm_with_m_vfp_d16 = result;
+}
diff --git a/gdb/features/arm/arm-with-m-vfp-d16.xml b/gdb/features/arm/arm-with-m-vfp-d16.xml
new file mode 100644
index 0000000..a6527ab
--- /dev/null
+++ b/gdb/features/arm/arm-with-m-vfp-d16.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+  <xi:include href="arm-m-profile.xml"/>
+  <!-- Layout of vfpv4-sp-d16 is identical to vfpv2 -->
+  <xi:include href="arm-vfpv2.xml"/>
+</target>
diff --git a/gdb/features/arm/arm-with-m.c b/gdb/features/arm/arm-with-m.c
new file mode 100644
index 0000000..8e27a80
--- /dev/null
+++ b/gdb/features/arm/arm-with-m.c
@@ -0,0 +1,35 @@
+/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
+  Original: arm-with-m.xml */
+
+#include "defs.h"
+#include "osabi.h"
+#include "target-descriptions.h"
+
+struct target_desc *tdesc_arm_with_m;
+static void
+initialize_tdesc_arm_with_m (void)
+{
+  struct target_desc *result = allocate_target_description ();
+  struct tdesc_feature *feature;
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.m-profile");
+  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
+  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
+  tdesc_create_reg (feature, "xpsr", 25, 1, NULL, 32, "int");
+
+  tdesc_arm_with_m = result;
+}
diff --git a/gdb/features/arm/arm-with-m.xml b/gdb/features/arm/arm-with-m.xml
new file mode 100644
index 0000000..6b82405
--- /dev/null
+++ b/gdb/features/arm/arm-with-m.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+  <xi:include href="arm-m-profile.xml"/>
+</target>
diff --git a/gdb/features/arm/arm-with-neon.c b/gdb/features/arm/arm-with-neon.c
new file mode 100644
index 0000000..61c9a3a
--- /dev/null
+++ b/gdb/features/arm/arm-with-neon.c
@@ -0,0 +1,72 @@
+/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
+  Original: arm-with-neon.xml */
+
+#include "defs.h"
+#include "osabi.h"
+#include "target-descriptions.h"
+
+struct target_desc *tdesc_arm_with_neon;
+static void
+initialize_tdesc_arm_with_neon (void)
+{
+  struct target_desc *result = allocate_target_description ();
+  struct tdesc_feature *feature;
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.core");
+  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
+  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
+  tdesc_create_reg (feature, "cpsr", 25, 1, NULL, 32, "int");
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.vfp");
+  tdesc_create_reg (feature, "d0", 26, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d1", 27, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d2", 28, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d3", 29, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d4", 30, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d5", 31, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d6", 32, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d7", 33, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d8", 34, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d9", 35, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d10", 36, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d11", 37, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d12", 38, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d13", 39, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d14", 40, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d15", 41, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d16", 42, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d17", 43, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d18", 44, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d19", 45, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d20", 46, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d21", 47, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d22", 48, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d23", 49, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d24", 50, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d25", 51, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d26", 52, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d27", 53, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d28", 54, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d29", 55, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d30", 56, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d31", 57, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "fpscr", 58, 1, "float", 32, "int");
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.neon");
+
+  tdesc_arm_with_neon = result;
+}
diff --git a/gdb/features/arm/arm-with-neon.xml b/gdb/features/arm/arm-with-neon.xml
new file mode 100644
index 0000000..53d1618
--- /dev/null
+++ b/gdb/features/arm/arm-with-neon.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+  <xi:include href="arm-core.xml"/>
+  <xi:include href="arm-vfpv3.xml"/>
+  <feature name="org.gnu.gdb.arm.neon"/>
+</target>
diff --git a/gdb/features/arm/arm-with-vfpv2.c b/gdb/features/arm/arm-with-vfpv2.c
new file mode 100644
index 0000000..78e3c81
--- /dev/null
+++ b/gdb/features/arm/arm-with-vfpv2.c
@@ -0,0 +1,54 @@
+/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
+  Original: arm-with-vfpv2.xml */
+
+#include "defs.h"
+#include "osabi.h"
+#include "target-descriptions.h"
+
+struct target_desc *tdesc_arm_with_vfpv2;
+static void
+initialize_tdesc_arm_with_vfpv2 (void)
+{
+  struct target_desc *result = allocate_target_description ();
+  struct tdesc_feature *feature;
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.core");
+  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
+  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
+  tdesc_create_reg (feature, "cpsr", 25, 1, NULL, 32, "int");
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.vfp");
+  tdesc_create_reg (feature, "d0", 26, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d1", 27, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d2", 28, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d3", 29, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d4", 30, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d5", 31, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d6", 32, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d7", 33, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d8", 34, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d9", 35, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d10", 36, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d11", 37, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d12", 38, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d13", 39, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d14", 40, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d15", 41, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "fpscr", 42, 1, "float", 32, "int");
+
+  tdesc_arm_with_vfpv2 = result;
+}
diff --git a/gdb/features/arm/arm-with-vfpv2.xml b/gdb/features/arm/arm-with-vfpv2.xml
new file mode 100644
index 0000000..98a5a1c
--- /dev/null
+++ b/gdb/features/arm/arm-with-vfpv2.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+  <xi:include href="arm-core.xml"/>
+  <xi:include href="arm-vfpv2.xml"/>
+</target>
diff --git a/gdb/features/arm/arm-with-vfpv3.c b/gdb/features/arm/arm-with-vfpv3.c
new file mode 100644
index 0000000..e48ca79
--- /dev/null
+++ b/gdb/features/arm/arm-with-vfpv3.c
@@ -0,0 +1,70 @@
+/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
+  Original: arm-with-vfpv3.xml */
+
+#include "defs.h"
+#include "osabi.h"
+#include "target-descriptions.h"
+
+struct target_desc *tdesc_arm_with_vfpv3;
+static void
+initialize_tdesc_arm_with_vfpv3 (void)
+{
+  struct target_desc *result = allocate_target_description ();
+  struct tdesc_feature *feature;
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.core");
+  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
+  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
+  tdesc_create_reg (feature, "cpsr", 25, 1, NULL, 32, "int");
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.vfp");
+  tdesc_create_reg (feature, "d0", 26, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d1", 27, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d2", 28, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d3", 29, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d4", 30, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d5", 31, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d6", 32, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d7", 33, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d8", 34, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d9", 35, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d10", 36, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d11", 37, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d12", 38, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d13", 39, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d14", 40, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d15", 41, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d16", 42, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d17", 43, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d18", 44, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d19", 45, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d20", 46, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d21", 47, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d22", 48, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d23", 49, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d24", 50, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d25", 51, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d26", 52, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d27", 53, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d28", 54, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d29", 55, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d30", 56, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d31", 57, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "fpscr", 58, 1, "float", 32, "int");
+
+  tdesc_arm_with_vfpv3 = result;
+}
diff --git a/gdb/features/arm/arm-with-vfpv3.xml b/gdb/features/arm/arm-with-vfpv3.xml
new file mode 100644
index 0000000..aa39548
--- /dev/null
+++ b/gdb/features/arm/arm-with-vfpv3.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+  <xi:include href="arm-core.xml"/>
+  <xi:include href="arm-vfpv3.xml"/>
+</target>
diff --git a/gdb/gdbserver/configure.srv b/gdb/gdbserver/configure.srv
index cc4f53d..b69a68d 100644
--- a/gdb/gdbserver/configure.srv
+++ b/gdb/gdbserver/configure.srv
@@ -63,14 +63,14 @@ case "${target}" in
 			srv_regobj="${srv_regobj} arm-with-vfpv3.o"
 			srv_regobj="${srv_regobj} arm-with-neon.o"
 			srv_tgtobj="$srv_linux_obj linux-arm-low.o"
-			srv_xmlfiles="arm-with-iwmmxt.xml"
-			srv_xmlfiles="${srv_xmlfiles} arm-with-vfpv2.xml"
-			srv_xmlfiles="${srv_xmlfiles} arm-with-vfpv3.xml"
-			srv_xmlfiles="${srv_xmlfiles} arm-with-neon.xml"
-			srv_xmlfiles="${srv_xmlfiles} arm-core.xml"
-			srv_xmlfiles="${srv_xmlfiles} xscale-iwmmxt.xml"
-			srv_xmlfiles="${srv_xmlfiles} arm-vfpv2.xml"
-			srv_xmlfiles="${srv_xmlfiles} arm-vfpv3.xml"
+			srv_xmlfiles="arm/arm-with-iwmmxt.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/arm-with-vfpv2.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/arm-with-vfpv3.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/arm-with-neon.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/arm-core.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/xscale-iwmmxt.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/arm-vfpv2.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/arm-vfpv3.xml"
 			srv_linux_usrregs=yes
 			srv_linux_regsets=yes
 			srv_linux_thread_db=yes

^ permalink raw reply	[flat|nested] 18+ messages in thread
* [PATCH] Clean up the XML files for ARM
@ 2016-10-04 10:11 Yao Qi
  2016-10-04 18:40 ` Pedro Alves
  0 siblings, 1 reply; 18+ messages in thread
From: Yao Qi @ 2016-10-04 10:11 UTC (permalink / raw)
  To: gdb-patches; +Cc: terry.guo

This patch is move features/arm-*.xml to features/arm/, and it is based
on Terry's patch posted here
https://sourceware.org/ml/gdb-patches/2014-06/msg00794.html

One comment to Terry's patch is about losing "arm" prefix, and the new
patch fixes this problem.

gdb:

2016-10-04  Terry Guo  <terry.guo@arm.com>
	    Yao Qi  <yao.qi@linaro.org>

	* arm-tdep.c: Adjust includes.
	* features/Makefile (WHICH): Add "arm/" directory to arm
	target descriptions.
	(XMLTOC): Likewise.
	(arm/arm-with-iwmmxt.dat): Adjust the path for
	dependencies.
	* features/arm-core.xml: Moved to ...
	* features/arm/arm-core.xml: ... it.
	* features/arm-fpa.xml: Moved to ...
	* features/arm/arm-fpa.xml: ... it.
	* features/arm-m-profile.xml: Moved to ...
	* features/arm/arm-m-profile.xm: ... it.
	* features/arm-vfpv2.xml: Moved to ...
	* features/arm/arm-vfpv2.xm: ... it.
	* features/arm-vfpv3.xml: Moved to ...
	* features/arm/arm-vfpv3.xml: ... it.
	* features/arm-with-iwmmxt.c: Moved to ...
	* features/arm/arm-with-iwmmxt.c: ... it.
	* features/arm-with-iwmmxt.xml: Moved to ...
	* features/arm/arm-with-iwmmxt.xml: ... it.
	* features/arm-with-m-fpa-layout.c: Moved to ...
	* features/arm/arm-with-m-fpa-layout.c: ... it.
	* features/arm-with-m-fpa-layout.xml: Moved to ...
	* features/arm/arm-with-m-fpa-layout.xml: ... it.
	* features/arm-with-m-vfp-d16.c: Moved to ...
	* features/arm/arm-with-m-vfp-d16.c: ... it.
	* features/arm-with-m-vfp-d16.xml: Moved to ...
	* features/arm/arm-with-m-vfp-d16.xml: ... it.
	* features/arm-with-m.c: Moved to ...
	* features/arm/arm-with-m.c: ... it.
	* features/arm-with-m.xml: Moved to ...
	* features/arm/arm-with-m.xm: ... it.
	* features/arm-with-neon.c: Moved to ...
	* features/arm/arm-with-neon.c: ... it.
	* features/arm-with-neon.xml: Moved to ...
	* features/arm/arm-with-neon.xml: ... it.
	* features/arm-with-vfpv2.c: Moved to ...
	* features/arm/arm-with-vfpv2.c: ... it.
	* features/arm-with-vfpv2.xml: Moved to ...
	* features/arm/arm-with-vfpv2.xml: ... it.
	* features/arm-with-vfpv3.c: Moved to ...
	* features/arm/arm-with-vfpv3.c: ... it.
	* features/arm-with-vfpv3.xml: Moved to ...
	* features/arm/arm-with-vfpv3.xml: ... it.
	* features/xscale-iwmmxt.xml: Moved to ...
	* features/arm/xscale-iwmmxt.xml: ... it.

gdb/gdbserver:

2016-10-04  Terry Guo  <terry.guo@arm.com>
	    Yao Qi  <yao.qi@linaro.org>

	* Makefile.in: Adjust the path of rules.
	* configure.srv: Update the path of xml files.
	* regformats/arm-with-iwmmxt.dat: Regenerated.
	* regformats/arm-with-neon.dat: Likewise.
	* regformats/arm-with-vfpv2.dat: Likewise.
	* regformats/arm-with-vfpv3.dat Likewise.
---
 gdb/arm-tdep.c                                   | 14 +++++++-------
 gdb/features/Makefile                            | 19 ++++++++++---------
 gdb/features/{ => arm}/arm-core.xml              |  0
 gdb/features/{ => arm}/arm-fpa.xml               |  0
 gdb/features/{ => arm}/arm-m-profile.xml         |  0
 gdb/features/{ => arm}/arm-vfpv2.xml             |  0
 gdb/features/{ => arm}/arm-vfpv3.xml             |  0
 gdb/features/{ => arm}/arm-with-iwmmxt.c         |  0
 gdb/features/{ => arm}/arm-with-iwmmxt.xml       |  0
 gdb/features/{ => arm}/arm-with-m-fpa-layout.c   |  0
 gdb/features/{ => arm}/arm-with-m-fpa-layout.xml |  0
 gdb/features/{ => arm}/arm-with-m-vfp-d16.c      |  0
 gdb/features/{ => arm}/arm-with-m-vfp-d16.xml    |  0
 gdb/features/{ => arm}/arm-with-m.c              |  0
 gdb/features/{ => arm}/arm-with-m.xml            |  0
 gdb/features/{ => arm}/arm-with-neon.c           |  0
 gdb/features/{ => arm}/arm-with-neon.xml         |  0
 gdb/features/{ => arm}/arm-with-vfpv2.c          |  0
 gdb/features/{ => arm}/arm-with-vfpv2.xml        |  0
 gdb/features/{ => arm}/arm-with-vfpv3.c          |  0
 gdb/features/{ => arm}/arm-with-vfpv3.xml        |  0
 gdb/features/{ => arm}/xscale-iwmmxt.xml         |  0
 gdb/gdbserver/Makefile.in                        | 16 ++++++++--------
 gdb/gdbserver/configure.srv                      | 16 ++++++++--------
 gdb/regformats/{ => arm}/arm-with-iwmmxt.dat     |  2 +-
 gdb/regformats/{ => arm}/arm-with-neon.dat       |  2 +-
 gdb/regformats/{ => arm}/arm-with-vfpv2.dat      |  2 +-
 gdb/regformats/{ => arm}/arm-with-vfpv3.dat      |  2 +-
 28 files changed, 37 insertions(+), 36 deletions(-)
 rename gdb/features/{ => arm}/arm-core.xml (100%)
 rename gdb/features/{ => arm}/arm-fpa.xml (100%)
 rename gdb/features/{ => arm}/arm-m-profile.xml (100%)
 rename gdb/features/{ => arm}/arm-vfpv2.xml (100%)
 rename gdb/features/{ => arm}/arm-vfpv3.xml (100%)
 rename gdb/features/{ => arm}/arm-with-iwmmxt.c (100%)
 rename gdb/features/{ => arm}/arm-with-iwmmxt.xml (100%)
 rename gdb/features/{ => arm}/arm-with-m-fpa-layout.c (100%)
 rename gdb/features/{ => arm}/arm-with-m-fpa-layout.xml (100%)
 rename gdb/features/{ => arm}/arm-with-m-vfp-d16.c (100%)
 rename gdb/features/{ => arm}/arm-with-m-vfp-d16.xml (100%)
 rename gdb/features/{ => arm}/arm-with-m.c (100%)
 rename gdb/features/{ => arm}/arm-with-m.xml (100%)
 rename gdb/features/{ => arm}/arm-with-neon.c (100%)
 rename gdb/features/{ => arm}/arm-with-neon.xml (100%)
 rename gdb/features/{ => arm}/arm-with-vfpv2.c (100%)
 rename gdb/features/{ => arm}/arm-with-vfpv2.xml (100%)
 rename gdb/features/{ => arm}/arm-with-vfpv3.c (100%)
 rename gdb/features/{ => arm}/arm-with-vfpv3.xml (100%)
 rename gdb/features/{ => arm}/xscale-iwmmxt.xml (100%)
 rename gdb/regformats/{ => arm}/arm-with-iwmmxt.dat (91%)
 rename gdb/regformats/{ => arm}/arm-with-neon.dat (92%)
 rename gdb/regformats/{ => arm}/arm-with-vfpv2.dat (90%)
 rename gdb/regformats/{ => arm}/arm-with-vfpv3.dat (92%)

diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index a07d93b..4211cd5 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -60,13 +60,13 @@
 #include "record-full.h"
 #include <algorithm>
 
-#include "features/arm-with-m.c"
-#include "features/arm-with-m-fpa-layout.c"
-#include "features/arm-with-m-vfp-d16.c"
-#include "features/arm-with-iwmmxt.c"
-#include "features/arm-with-vfpv2.c"
-#include "features/arm-with-vfpv3.c"
-#include "features/arm-with-neon.c"
+#include "features/arm/arm-with-m.c"
+#include "features/arm/arm-with-m-fpa-layout.c"
+#include "features/arm/arm-with-m-vfp-d16.c"
+#include "features/arm/arm-with-iwmmxt.c"
+#include "features/arm/arm-with-vfpv2.c"
+#include "features/arm/arm-with-vfpv3.c"
+#include "features/arm/arm-with-neon.c"
 
 static int arm_debug;
 
diff --git a/gdb/features/Makefile b/gdb/features/Makefile
index 4efb1a5..f24b13e 100644
--- a/gdb/features/Makefile
+++ b/gdb/features/Makefile
@@ -44,7 +44,8 @@
 #   make GDB=/path/to/gdb XMLTOC="xml files" cfiles
 
 WHICH = aarch64 \
-	arm-with-iwmmxt arm-with-vfpv2 arm-with-vfpv3 arm-with-neon \
+	arm/arm-with-iwmmxt arm/arm-with-vfpv2 arm/arm-with-vfpv3 \
+	arm/arm-with-neon \
 	i386/i386 i386/i386-linux \
 	i386/i386-mmx i386/i386-mmx-linux \
 	i386/amd64 i386/amd64-linux \
@@ -150,13 +151,13 @@ XMLTOC = \
 	aarch64.xml \
 	arc-v2.xml \
 	arc-arcompact.xml \
-	arm-with-iwmmxt.xml \
-	arm-with-m-fpa-layout.xml \
-	arm-with-m-vfp-d16.xml \
-	arm-with-m.xml \
-	arm-with-neon.xml \
-	arm-with-vfpv2.xml \
-	arm-with-vfpv3.xml \
+	arm/arm-with-iwmmxt.xml \
+	arm/arm-with-m-fpa-layout.xml \
+	arm/arm-with-m-vfp-d16.xml \
+	arm/arm-with-m.xml \
+	arm/arm-with-neon.xml \
+	arm/arm-with-vfpv2.xml \
+	arm/arm-with-vfpv3.xml \
 	i386/amd64-avx-linux.xml \
 	i386/amd64-avx.xml \
 	i386/amd64-avx512-linux.xml \
@@ -270,7 +271,7 @@ cfiles: $(CFILES)
 	sh ../../move-if-change $@.tmp $@
 
 # Other dependencies.
-$(outdir)/arm-with-iwmmxt.dat: arm-core.xml xscale-iwmmxt.xml
+$(outdir)/arm/arm-with-iwmmxt.dat: arm/arm-core.xml arm/xscale-iwmmxt.xml
 $(outdir)/i386/i386.dat: i386/32bit-core.xml i386/32bit-sse.xml
 $(outdir)/i386/i386-linux.dat: i386/32bit-core.xml i386/32bit-sse.xml \
 			       i386/32bit-linux.xml
diff --git a/gdb/features/arm-core.xml b/gdb/features/arm/arm-core.xml
similarity index 100%
rename from gdb/features/arm-core.xml
rename to gdb/features/arm/arm-core.xml
diff --git a/gdb/features/arm-fpa.xml b/gdb/features/arm/arm-fpa.xml
similarity index 100%
rename from gdb/features/arm-fpa.xml
rename to gdb/features/arm/arm-fpa.xml
diff --git a/gdb/features/arm-m-profile.xml b/gdb/features/arm/arm-m-profile.xml
similarity index 100%
rename from gdb/features/arm-m-profile.xml
rename to gdb/features/arm/arm-m-profile.xml
diff --git a/gdb/features/arm-vfpv2.xml b/gdb/features/arm/arm-vfpv2.xml
similarity index 100%
rename from gdb/features/arm-vfpv2.xml
rename to gdb/features/arm/arm-vfpv2.xml
diff --git a/gdb/features/arm-vfpv3.xml b/gdb/features/arm/arm-vfpv3.xml
similarity index 100%
rename from gdb/features/arm-vfpv3.xml
rename to gdb/features/arm/arm-vfpv3.xml
diff --git a/gdb/features/arm-with-iwmmxt.c b/gdb/features/arm/arm-with-iwmmxt.c
similarity index 100%
rename from gdb/features/arm-with-iwmmxt.c
rename to gdb/features/arm/arm-with-iwmmxt.c
diff --git a/gdb/features/arm-with-iwmmxt.xml b/gdb/features/arm/arm-with-iwmmxt.xml
similarity index 100%
rename from gdb/features/arm-with-iwmmxt.xml
rename to gdb/features/arm/arm-with-iwmmxt.xml
diff --git a/gdb/features/arm-with-m-fpa-layout.c b/gdb/features/arm/arm-with-m-fpa-layout.c
similarity index 100%
rename from gdb/features/arm-with-m-fpa-layout.c
rename to gdb/features/arm/arm-with-m-fpa-layout.c
diff --git a/gdb/features/arm-with-m-fpa-layout.xml b/gdb/features/arm/arm-with-m-fpa-layout.xml
similarity index 100%
rename from gdb/features/arm-with-m-fpa-layout.xml
rename to gdb/features/arm/arm-with-m-fpa-layout.xml
diff --git a/gdb/features/arm-with-m-vfp-d16.c b/gdb/features/arm/arm-with-m-vfp-d16.c
similarity index 100%
rename from gdb/features/arm-with-m-vfp-d16.c
rename to gdb/features/arm/arm-with-m-vfp-d16.c
diff --git a/gdb/features/arm-with-m-vfp-d16.xml b/gdb/features/arm/arm-with-m-vfp-d16.xml
similarity index 100%
rename from gdb/features/arm-with-m-vfp-d16.xml
rename to gdb/features/arm/arm-with-m-vfp-d16.xml
diff --git a/gdb/features/arm-with-m.c b/gdb/features/arm/arm-with-m.c
similarity index 100%
rename from gdb/features/arm-with-m.c
rename to gdb/features/arm/arm-with-m.c
diff --git a/gdb/features/arm-with-m.xml b/gdb/features/arm/arm-with-m.xml
similarity index 100%
rename from gdb/features/arm-with-m.xml
rename to gdb/features/arm/arm-with-m.xml
diff --git a/gdb/features/arm-with-neon.c b/gdb/features/arm/arm-with-neon.c
similarity index 100%
rename from gdb/features/arm-with-neon.c
rename to gdb/features/arm/arm-with-neon.c
diff --git a/gdb/features/arm-with-neon.xml b/gdb/features/arm/arm-with-neon.xml
similarity index 100%
rename from gdb/features/arm-with-neon.xml
rename to gdb/features/arm/arm-with-neon.xml
diff --git a/gdb/features/arm-with-vfpv2.c b/gdb/features/arm/arm-with-vfpv2.c
similarity index 100%
rename from gdb/features/arm-with-vfpv2.c
rename to gdb/features/arm/arm-with-vfpv2.c
diff --git a/gdb/features/arm-with-vfpv2.xml b/gdb/features/arm/arm-with-vfpv2.xml
similarity index 100%
rename from gdb/features/arm-with-vfpv2.xml
rename to gdb/features/arm/arm-with-vfpv2.xml
diff --git a/gdb/features/arm-with-vfpv3.c b/gdb/features/arm/arm-with-vfpv3.c
similarity index 100%
rename from gdb/features/arm-with-vfpv3.c
rename to gdb/features/arm/arm-with-vfpv3.c
diff --git a/gdb/features/arm-with-vfpv3.xml b/gdb/features/arm/arm-with-vfpv3.xml
similarity index 100%
rename from gdb/features/arm-with-vfpv3.xml
rename to gdb/features/arm/arm-with-vfpv3.xml
diff --git a/gdb/features/xscale-iwmmxt.xml b/gdb/features/arm/xscale-iwmmxt.xml
similarity index 100%
rename from gdb/features/xscale-iwmmxt.xml
rename to gdb/features/arm/xscale-iwmmxt.xml
diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in
index 6d5abd3..0db5287 100644
--- a/gdb/gdbserver/Makefile.in
+++ b/gdb/gdbserver/Makefile.in
@@ -801,14 +801,14 @@ aarch64.c : $(srcdir)/../regformats/aarch64.dat $(regdat_sh)
 	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/aarch64.dat aarch64.c
 reg-arm.c : $(srcdir)/../regformats/reg-arm.dat $(regdat_sh)
 	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-arm.dat reg-arm.c
-arm-with-iwmmxt.c : $(srcdir)/../regformats/arm-with-iwmmxt.dat $(regdat_sh)
-	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm-with-iwmmxt.dat arm-with-iwmmxt.c
-arm-with-vfpv2.c : $(srcdir)/../regformats/arm-with-vfpv2.dat $(regdat_sh)
-	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm-with-vfpv2.dat arm-with-vfpv2.c
-arm-with-vfpv3.c : $(srcdir)/../regformats/arm-with-vfpv3.dat $(regdat_sh)
-	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm-with-vfpv3.dat arm-with-vfpv3.c
-arm-with-neon.c : $(srcdir)/../regformats/arm-with-neon.dat $(regdat_sh)
-	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm-with-neon.dat arm-with-neon.c
+arm-with-iwmmxt.c : $(srcdir)/../regformats/arm/arm-with-iwmmxt.dat $(regdat_sh)
+	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm/arm-with-iwmmxt.dat arm-with-iwmmxt.c
+arm-with-vfpv2.c : $(srcdir)/../regformats/arm/arm-with-vfpv2.dat $(regdat_sh)
+	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm/arm-with-vfpv2.dat arm-with-vfpv2.c
+arm-with-vfpv3.c : $(srcdir)/../regformats/arm/arm-with-vfpv3.dat $(regdat_sh)
+	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm/arm-with-vfpv3.dat arm-with-vfpv3.c
+arm-with-neon.c : $(srcdir)/../regformats/arm/arm-with-neon.dat $(regdat_sh)
+	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm/arm-with-neon.dat arm-with-neon.c
 reg-bfin.c : $(srcdir)/../regformats/reg-bfin.dat $(regdat_sh)
 	$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-bfin.dat reg-bfin.c
 reg-cris.c : $(srcdir)/../regformats/reg-cris.dat $(regdat_sh)
diff --git a/gdb/gdbserver/configure.srv b/gdb/gdbserver/configure.srv
index 39e8392..e8712e6 100644
--- a/gdb/gdbserver/configure.srv
+++ b/gdb/gdbserver/configure.srv
@@ -76,14 +76,14 @@ case "${target}" in
 			srv_tgtobj="${srv_tgtobj} arm.o"
 			srv_tgtobj="${srv_tgtobj} arm-linux.o"
 			srv_tgtobj="${srv_tgtobj} arm-get-next-pcs.o"
-			srv_xmlfiles="arm-with-iwmmxt.xml"
-			srv_xmlfiles="${srv_xmlfiles} arm-with-vfpv2.xml"
-			srv_xmlfiles="${srv_xmlfiles} arm-with-vfpv3.xml"
-			srv_xmlfiles="${srv_xmlfiles} arm-with-neon.xml"
-			srv_xmlfiles="${srv_xmlfiles} arm-core.xml"
-			srv_xmlfiles="${srv_xmlfiles} xscale-iwmmxt.xml"
-			srv_xmlfiles="${srv_xmlfiles} arm-vfpv2.xml"
-			srv_xmlfiles="${srv_xmlfiles} arm-vfpv3.xml"
+			srv_xmlfiles="arm/arm-with-iwmmxt.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/arm-with-vfpv2.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/arm-with-vfpv3.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/arm-with-neon.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/arm-core.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/xscale-iwmmxt.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/arm-vfpv2.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/arm-vfpv3.xml"
 			srv_linux_usrregs=yes
 			srv_linux_regsets=yes
 			srv_linux_thread_db=yes
diff --git a/gdb/regformats/arm-with-iwmmxt.dat b/gdb/regformats/arm/arm-with-iwmmxt.dat
similarity index 91%
rename from gdb/regformats/arm-with-iwmmxt.dat
rename to gdb/regformats/arm/arm-with-iwmmxt.dat
index 4b4679b..f529c2c 100644
--- a/gdb/regformats/arm-with-iwmmxt.dat
+++ b/gdb/regformats/arm/arm-with-iwmmxt.dat
@@ -1,5 +1,5 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: arm-with-iwmmxt.xml
+# Generated from: arm/arm-with-iwmmxt.xml
 name:arm_with_iwmmxt
 xmltarget:arm-with-iwmmxt.xml
 expedite:r11,sp,pc
diff --git a/gdb/regformats/arm-with-neon.dat b/gdb/regformats/arm/arm-with-neon.dat
similarity index 92%
rename from gdb/regformats/arm-with-neon.dat
rename to gdb/regformats/arm/arm-with-neon.dat
index ee0ec58..2e6cb85 100644
--- a/gdb/regformats/arm-with-neon.dat
+++ b/gdb/regformats/arm/arm-with-neon.dat
@@ -1,5 +1,5 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: arm-with-neon.xml
+# Generated from: arm/arm-with-neon.xml
 name:arm_with_neon
 xmltarget:arm-with-neon.xml
 expedite:r11,sp,pc
diff --git a/gdb/regformats/arm-with-vfpv2.dat b/gdb/regformats/arm/arm-with-vfpv2.dat
similarity index 90%
rename from gdb/regformats/arm-with-vfpv2.dat
rename to gdb/regformats/arm/arm-with-vfpv2.dat
index 9486c19..aa71f85 100644
--- a/gdb/regformats/arm-with-vfpv2.dat
+++ b/gdb/regformats/arm/arm-with-vfpv2.dat
@@ -1,5 +1,5 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: arm-with-vfpv2.xml
+# Generated from: arm/arm-with-vfpv2.xml
 name:arm_with_vfpv2
 xmltarget:arm-with-vfpv2.xml
 expedite:r11,sp,pc
diff --git a/gdb/regformats/arm-with-vfpv3.dat b/gdb/regformats/arm/arm-with-vfpv3.dat
similarity index 92%
rename from gdb/regformats/arm-with-vfpv3.dat
rename to gdb/regformats/arm/arm-with-vfpv3.dat
index 236da09..6fec4fd 100644
--- a/gdb/regformats/arm-with-vfpv3.dat
+++ b/gdb/regformats/arm/arm-with-vfpv3.dat
@@ -1,5 +1,5 @@
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: arm-with-vfpv3.xml
+# Generated from: arm/arm-with-vfpv3.xml
 name:arm_with_vfpv3
 xmltarget:arm-with-vfpv3.xml
 expedite:r11,sp,pc
-- 
1.9.1

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2016-10-05  8:38 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-11  6:46 [Patch]Clean up the XML files for ARM Terry Guo
2014-06-11  8:16 ` Will Newton
2014-06-11  9:12   ` Terry Guo
2014-06-11 11:24     ` Luis Machado
2014-06-12  3:40       ` Terry Guo
2014-06-16  2:12         ` Terry Guo
2014-06-16  7:27           ` Will Newton
2014-06-20  3:05             ` Terry Guo
2014-06-20  5:03               ` Luis Gustavo
2014-06-20  9:52               ` Pedro Alves
2014-06-20 10:21                 ` Terry Guo
2014-06-20 11:21                   ` Pedro Alves
2014-06-22  4:36                     ` Terry Guo
2014-06-23 12:41                       ` Pedro Alves
2014-06-25  1:30                         ` Terry Guo
2016-10-04 10:11 [PATCH] Clean " Yao Qi
2016-10-04 18:40 ` Pedro Alves
2016-10-05  8:38   ` Yao Qi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).