public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [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

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

On 10/04/2016 11:11 AM, Yao Qi wrote:
> 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.

This version is fine with me.  Thanks.

Thanks,
Pedro Alves

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

* Re: [PATCH] Clean up the XML files for ARM
  2016-10-04 18:40 ` Pedro Alves
@ 2016-10-05  8:38   ` Yao Qi
  0 siblings, 0 replies; 18+ messages in thread
From: Yao Qi @ 2016-10-05  8:38 UTC (permalink / raw)
  To: Pedro Alves; +Cc: gdb-patches, terry.guo

On Tue, Oct 4, 2016 at 7:40 PM, Pedro Alves <palves@redhat.com> wrote:
>
> This version is fine with me.  Thanks.
>

Patch is pushed in.

-- 
Yao (齐尧)

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

* RE: [Patch]Clean up the XML files for ARM
  2014-06-23 12:41                       ` Pedro Alves
@ 2014-06-25  1:30                         ` Terry Guo
  0 siblings, 0 replies; 18+ messages in thread
From: Terry Guo @ 2014-06-25  1:30 UTC (permalink / raw)
  To: 'Pedro Alves'; +Cc: gdb-patches

osing the prefix in the generated code is problematic for multi-arch (--
> enable-target=all) builds, because this way we're open for conflict between
> archs.  E.g., say we have
> 
>  arch1/linux.xml
>  arch1/linux.c
>  arch2/linux.xml
>  arch2/linux.c
> 
> Then we end up with multiple conflicting definitions of "struct target_desc
> *tdesc_linux;"
> 
> I think we should fix this by making the directory name be a prefix in the
> generated code.  That is, in the ARM case, these hunks would disappear from
> your patch:
> 
> > -struct target_desc *tdesc_arm_with_m_vfp_d16;
> > +struct target_desc *tdesc_with_m_vfp_d16;
> >  static void
> > -initialize_tdesc_arm_with_m_vfp_d16 (void)
> > +initialize_tdesc_with_m_vfp_d16 (void)
> >  {
> 
> Would you like to work on this?
> 
> --
> Pedro Alves
> 

You are right. I will work on this.

BR,
Terry



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

* Re: [Patch]Clean up the XML files for ARM
  2014-06-22  4:36                     ` Terry Guo
@ 2014-06-23 12:41                       ` Pedro Alves
  2014-06-25  1:30                         ` Terry Guo
  0 siblings, 1 reply; 18+ messages in thread
From: Pedro Alves @ 2014-06-23 12:41 UTC (permalink / raw)
  To: Terry Guo; +Cc: gdb-patches

On 06/22/2014 05:35 AM, Terry Guo wrote:
> rename from gdb/features/arm-with-m-vfp-d16.c
> rename to gdb/features/arm/with-m-vfp-d16.c
> index a0da583..5f47e3d 100644
> --- a/gdb/features/arm-with-m-vfp-d16.c
> +++ b/gdb/features/arm/with-m-vfp-d16.c
> @@ -1,13 +1,13 @@
>  /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
> -  Original: arm-with-m-vfp-d16.xml */
> +  Original: with-m-vfp-d16.xml */

Thank you.

However, I've just now realized a design problem with
losing the prefixes all over...  :-(

> -struct target_desc *tdesc_arm_with_m_vfp_d16;
> +struct target_desc *tdesc_with_m_vfp_d16;
>  static void
> -initialize_tdesc_arm_with_m_vfp_d16 (void)
> +initialize_tdesc_with_m_vfp_d16 (void)
>  {

Losing the prefix in the generated code is problematic for
multi-arch (--enable-target=all) builds, because this way we're
open for conflict between archs.  E.g., say we have

 arch1/linux.xml
 arch1/linux.c
 arch2/linux.xml
 arch2/linux.c

Then we end up with multiple conflicting definitions of
"struct target_desc *tdesc_linux;"

I think we should fix this by making the directory name be a prefix
in the generated code.  That is, in the ARM case, these hunks would
disappear from your patch:

> -struct target_desc *tdesc_arm_with_m_vfp_d16;
> +struct target_desc *tdesc_with_m_vfp_d16;
>  static void
> -initialize_tdesc_arm_with_m_vfp_d16 (void)
> +initialize_tdesc_with_m_vfp_d16 (void)
>  {

Would you like to work on this?

-- 
Pedro Alves

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

* RE: [Patch]Clean up the XML files for ARM
  2014-06-20 11:21                   ` Pedro Alves
@ 2014-06-22  4:36                     ` Terry Guo
  2014-06-23 12:41                       ` Pedro Alves
  0 siblings, 1 reply; 18+ messages in thread
From: Terry Guo @ 2014-06-22  4:36 UTC (permalink / raw)
  To: 'Pedro Alves'; +Cc: gdb-patches

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


> -----Original Message-----
> From: Pedro Alves [mailto:palves@redhat.com]
> Sent: Friday, June 20, 2014 7:22 PM
> To: Terry Guo
> Cc: lgustavo@codesourcery.com; gdb-patches@sourceware.org; 'Will
> Newton'
> Subject: Re: [Patch]Clean up the XML files for ARM
> 
> On 06/20/2014 11:21 AM, Terry Guo wrote:
> > diff --git a/gdb/features/arm-with-m.c b/gdb/features/arm/with-m.c
> > similarity index 100%
> > rename from gdb/features/arm-with-m.c
> > rename to gdb/features/arm/with-m.c
> 
> See arm-with-m.c:
> 
> /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
>   Original: arm-with-m.xml */
> 
> That's now stale.  Please regenerate the files (with features/Makefile),
> which also serves to make sure we can still regenerate them without
> error.
> 
> --
> Pedro Alves
> 

Thank you Pedro. I updated the patch per your comments.

BR,
Terry

2014-06-22  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 and regenerated.
     * 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 and regenerated.
     * 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 and regenerated.
     * 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 and regenerated.
     * 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 and regenerated.
     * 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 and regenerated.
     * 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 and regenerated.
     * features/Makefile: Use new paths to refer ARM files.
     * arm-tdep.c: Use new paths to include files.
     (arm_register_g_packet_guesses): Updated with new tdesc names.
     (_initialize_arm_tdep): Updated with new tdesc initialization function names.

gdb/testsuite/ChangeLog:

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

     * gdb.xml/tdesc-regs.exp: Set regdir for arm targets.

gdb/gdbserver/ChangeLog:

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

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

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

diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index 74942b1..248d87c 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/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"
 
 static int arm_debug;
 
@@ -9802,14 +9802,14 @@ arm_register_g_packet_guesses (struct gdbarch *gdbarch)
 				      (16 * INT_REGISTER_SIZE)
 				      + (8 * FP_REGISTER_SIZE)
 				      + (2 * INT_REGISTER_SIZE),
-				      tdesc_arm_with_m_fpa_layout);
+				      tdesc_with_m_fpa_layout);
 
       /* The regular M-profile layout.  */
       register_remote_g_packet_guess (gdbarch,
 				      /* r0-r12,sp,lr,pc; xpsr */
 				      (16 * INT_REGISTER_SIZE)
 				      + INT_REGISTER_SIZE,
-				      tdesc_arm_with_m);
+				      tdesc_with_m);
 
       /* M-profile plus M4F VFP.  */
       register_remote_g_packet_guess (gdbarch,
@@ -9817,7 +9817,7 @@ arm_register_g_packet_guesses (struct gdbarch *gdbarch)
 				      (16 * INT_REGISTER_SIZE)
 				      + (16 * VFP_REGISTER_SIZE)
 				      + (2 * INT_REGISTER_SIZE),
-				      tdesc_arm_with_m_vfp_d16);
+				      tdesc_with_m_vfp_d16);
     }
 
   /* Otherwise we don't have a useful guess.  */
@@ -10452,13 +10452,13 @@ _initialize_arm_tdep (void)
 				  arm_elf_osabi_sniffer);
 
   /* Initialize the standard target descriptions.  */
-  initialize_tdesc_arm_with_m ();
-  initialize_tdesc_arm_with_m_fpa_layout ();
-  initialize_tdesc_arm_with_m_vfp_d16 ();
-  initialize_tdesc_arm_with_iwmmxt ();
-  initialize_tdesc_arm_with_vfpv2 ();
-  initialize_tdesc_arm_with_vfpv3 ();
-  initialize_tdesc_arm_with_neon ();
+  initialize_tdesc_with_m ();
+  initialize_tdesc_with_m_fpa_layout ();
+  initialize_tdesc_with_m_vfp_d16 ();
+  initialize_tdesc_with_iwmmxt ();
+  initialize_tdesc_with_vfpv2 ();
+  initialize_tdesc_with_vfpv3 ();
+  initialize_tdesc_with_neon ();
 
   /* Get the number of possible sets of register names defined in opcodes.  */
   num_disassembly_options = get_arm_regname_num_options ();
diff --git a/gdb/features/Makefile b/gdb/features/Makefile
index dbf4963..93ddbe2 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/with-iwmmxt arm/with-vfpv2 arm/with-vfpv3 arm/with-neon \
+	arm/with-m arm/with-m-fpa-layout 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/with-iwmmxt.dat: 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
similarity index 100%
rename from gdb/features/arm-core.xml
rename to gdb/features/arm/core.xml
diff --git a/gdb/features/arm-fpa.xml b/gdb/features/arm/fpa.xml
similarity index 100%
rename from gdb/features/arm-fpa.xml
rename to gdb/features/arm/fpa.xml
diff --git a/gdb/features/arm-m-profile.xml b/gdb/features/arm/m-profile.xml
similarity index 100%
rename from gdb/features/arm-m-profile.xml
rename to gdb/features/arm/m-profile.xml
diff --git a/gdb/features/arm-vfpv2.xml b/gdb/features/arm/vfpv2.xml
similarity index 100%
rename from gdb/features/arm-vfpv2.xml
rename to gdb/features/arm/vfpv2.xml
diff --git a/gdb/features/arm-vfpv3.xml b/gdb/features/arm/vfpv3.xml
similarity index 100%
rename from gdb/features/arm-vfpv3.xml
rename to gdb/features/arm/vfpv3.xml
diff --git a/gdb/features/arm-with-iwmmxt.c b/gdb/features/arm/with-iwmmxt.c
similarity index 96%
rename from gdb/features/arm-with-iwmmxt.c
rename to gdb/features/arm/with-iwmmxt.c
index 1770e03..378286f 100644
--- a/gdb/features/arm-with-iwmmxt.c
+++ b/gdb/features/arm/with-iwmmxt.c
@@ -1,13 +1,13 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-iwmmxt.xml */
+  Original: with-iwmmxt.xml */
 
 #include "defs.h"
 #include "osabi.h"
 #include "target-descriptions.h"
 
-struct target_desc *tdesc_arm_with_iwmmxt;
+struct target_desc *tdesc_with_iwmmxt;
 static void
-initialize_tdesc_arm_with_iwmmxt (void)
+initialize_tdesc_with_iwmmxt (void)
 {
   struct target_desc *result = allocate_target_description ();
   struct tdesc_feature *feature;
@@ -78,5 +78,5 @@ initialize_tdesc_arm_with_iwmmxt (void)
   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;
+  tdesc_with_iwmmxt = result;
 }
diff --git a/gdb/features/arm-with-iwmmxt.xml b/gdb/features/arm/with-iwmmxt.xml
similarity index 92%
rename from gdb/features/arm-with-iwmmxt.xml
rename to gdb/features/arm/with-iwmmxt.xml
index 5adadee..6b2939d 100644
--- a/gdb/features/arm-with-iwmmxt.xml
+++ b/gdb/features/arm/with-iwmmxt.xml
@@ -8,6 +8,6 @@
 <!DOCTYPE target SYSTEM "gdb-target.dtd">
 <target>
   <architecture>iwmmxt</architecture>
-  <xi:include href="arm-core.xml"/>
+  <xi:include href="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
similarity index 91%
rename from gdb/features/arm-with-m-fpa-layout.c
rename to gdb/features/arm/with-m-fpa-layout.c
index bc51f05..941f21b 100644
--- a/gdb/features/arm-with-m-fpa-layout.c
+++ b/gdb/features/arm/with-m-fpa-layout.c
@@ -1,13 +1,13 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-m-fpa-layout.xml */
+  Original: with-m-fpa-layout.xml */
 
 #include "defs.h"
 #include "osabi.h"
 #include "target-descriptions.h"
 
-struct target_desc *tdesc_arm_with_m_fpa_layout;
+struct target_desc *tdesc_with_m_fpa_layout;
 static void
-initialize_tdesc_arm_with_m_fpa_layout (void)
+initialize_tdesc_with_m_fpa_layout (void)
 {
   struct target_desc *result = allocate_target_description ();
   struct tdesc_feature *feature;
@@ -40,5 +40,5 @@ initialize_tdesc_arm_with_m_fpa_layout (void)
   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;
+  tdesc_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
similarity index 100%
rename from gdb/features/arm-with-m-fpa-layout.xml
rename to gdb/features/arm/with-m-fpa-layout.xml
diff --git a/gdb/features/arm-with-m-vfp-d16.c b/gdb/features/arm/with-m-vfp-d16.c
similarity index 94%
rename from gdb/features/arm-with-m-vfp-d16.c
rename to gdb/features/arm/with-m-vfp-d16.c
index a0da583..5f47e3d 100644
--- a/gdb/features/arm-with-m-vfp-d16.c
+++ b/gdb/features/arm/with-m-vfp-d16.c
@@ -1,13 +1,13 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-m-vfp-d16.xml */
+  Original: with-m-vfp-d16.xml */
 
 #include "defs.h"
 #include "osabi.h"
 #include "target-descriptions.h"
 
-struct target_desc *tdesc_arm_with_m_vfp_d16;
+struct target_desc *tdesc_with_m_vfp_d16;
 static void
-initialize_tdesc_arm_with_m_vfp_d16 (void)
+initialize_tdesc_with_m_vfp_d16 (void)
 {
   struct target_desc *result = allocate_target_description ();
   struct tdesc_feature *feature;
@@ -50,5 +50,5 @@ initialize_tdesc_arm_with_m_vfp_d16 (void)
   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;
+  tdesc_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
similarity index 83%
rename from gdb/features/arm-with-m-vfp-d16.xml
rename to gdb/features/arm/with-m-vfp-d16.xml
index a6527ab..7fb6fb9 100644
--- a/gdb/features/arm-with-m-vfp-d16.xml
+++ b/gdb/features/arm/with-m-vfp-d16.xml
@@ -7,7 +7,7 @@
 
 <!DOCTYPE target SYSTEM "gdb-target.dtd">
 <target>
-  <xi:include href="arm-m-profile.xml"/>
+  <xi:include href="m-profile.xml"/>
   <!-- Layout of vfpv4-sp-d16 is identical to vfpv2 -->
-  <xi:include href="arm-vfpv2.xml"/>
+  <xi:include href="vfpv2.xml"/>
 </target>
diff --git a/gdb/features/arm-with-m.c b/gdb/features/arm/with-m.c
similarity index 91%
rename from gdb/features/arm-with-m.c
rename to gdb/features/arm/with-m.c
index 8e27a80..5ce95d6 100644
--- a/gdb/features/arm-with-m.c
+++ b/gdb/features/arm/with-m.c
@@ -1,13 +1,13 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-m.xml */
+  Original: with-m.xml */
 
 #include "defs.h"
 #include "osabi.h"
 #include "target-descriptions.h"
 
-struct target_desc *tdesc_arm_with_m;
+struct target_desc *tdesc_with_m;
 static void
-initialize_tdesc_arm_with_m (void)
+initialize_tdesc_with_m (void)
 {
   struct target_desc *result = allocate_target_description ();
   struct tdesc_feature *feature;
@@ -31,5 +31,5 @@ initialize_tdesc_arm_with_m (void)
   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;
+  tdesc_with_m = result;
 }
diff --git a/gdb/features/arm-with-m.xml b/gdb/features/arm/with-m.xml
similarity index 89%
rename from gdb/features/arm-with-m.xml
rename to gdb/features/arm/with-m.xml
index 6b82405..b1a4316 100644
--- a/gdb/features/arm-with-m.xml
+++ b/gdb/features/arm/with-m.xml
@@ -7,5 +7,5 @@
 
 <!DOCTYPE target SYSTEM "gdb-target.dtd">
 <target>
-  <xi:include href="arm-m-profile.xml"/>
+  <xi:include href="m-profile.xml"/>
 </target>
diff --git a/gdb/features/arm-with-neon.c b/gdb/features/arm/with-neon.c
similarity index 96%
rename from gdb/features/arm-with-neon.c
rename to gdb/features/arm/with-neon.c
index 61c9a3a..2139a59 100644
--- a/gdb/features/arm-with-neon.c
+++ b/gdb/features/arm/with-neon.c
@@ -1,13 +1,13 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-neon.xml */
+  Original: with-neon.xml */
 
 #include "defs.h"
 #include "osabi.h"
 #include "target-descriptions.h"
 
-struct target_desc *tdesc_arm_with_neon;
+struct target_desc *tdesc_with_neon;
 static void
-initialize_tdesc_arm_with_neon (void)
+initialize_tdesc_with_neon (void)
 {
   struct target_desc *result = allocate_target_description ();
   struct tdesc_feature *feature;
@@ -68,5 +68,5 @@ initialize_tdesc_arm_with_neon (void)
 
   feature = tdesc_create_feature (result, "org.gnu.gdb.arm.neon");
 
-  tdesc_arm_with_neon = result;
+  tdesc_with_neon = result;
 }
diff --git a/gdb/features/arm-with-neon.xml b/gdb/features/arm/with-neon.xml
similarity index 83%
rename from gdb/features/arm-with-neon.xml
rename to gdb/features/arm/with-neon.xml
index 53d1618..096bb5a 100644
--- a/gdb/features/arm-with-neon.xml
+++ b/gdb/features/arm/with-neon.xml
@@ -7,7 +7,7 @@
 
 <!DOCTYPE target SYSTEM "gdb-target.dtd">
 <target>
-  <xi:include href="arm-core.xml"/>
-  <xi:include href="arm-vfpv3.xml"/>
+  <xi:include href="core.xml"/>
+  <xi:include href="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
similarity index 94%
rename from gdb/features/arm-with-vfpv2.c
rename to gdb/features/arm/with-vfpv2.c
index 78e3c81..484bf24 100644
--- a/gdb/features/arm-with-vfpv2.c
+++ b/gdb/features/arm/with-vfpv2.c
@@ -1,13 +1,13 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-vfpv2.xml */
+  Original: with-vfpv2.xml */
 
 #include "defs.h"
 #include "osabi.h"
 #include "target-descriptions.h"
 
-struct target_desc *tdesc_arm_with_vfpv2;
+struct target_desc *tdesc_with_vfpv2;
 static void
-initialize_tdesc_arm_with_vfpv2 (void)
+initialize_tdesc_with_vfpv2 (void)
 {
   struct target_desc *result = allocate_target_description ();
   struct tdesc_feature *feature;
@@ -50,5 +50,5 @@ initialize_tdesc_arm_with_vfpv2 (void)
   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;
+  tdesc_with_vfpv2 = result;
 }
diff --git a/gdb/features/arm-with-vfpv3.xml b/gdb/features/arm/with-vfpv2.xml
similarity index 82%
rename from gdb/features/arm-with-vfpv3.xml
rename to gdb/features/arm/with-vfpv2.xml
index aa39548..136c694 100644
--- a/gdb/features/arm-with-vfpv3.xml
+++ b/gdb/features/arm/with-vfpv2.xml
@@ -7,6 +7,6 @@
 
 <!DOCTYPE target SYSTEM "gdb-target.dtd">
 <target>
-  <xi:include href="arm-core.xml"/>
-  <xi:include href="arm-vfpv3.xml"/>
+  <xi:include href="core.xml"/>
+  <xi:include href="vfpv2.xml"/>
 </target>
diff --git a/gdb/features/arm-with-vfpv3.c b/gdb/features/arm/with-vfpv3.c
similarity index 96%
rename from gdb/features/arm-with-vfpv3.c
rename to gdb/features/arm/with-vfpv3.c
index e48ca79..e6d5dae 100644
--- a/gdb/features/arm-with-vfpv3.c
+++ b/gdb/features/arm/with-vfpv3.c
@@ -1,13 +1,13 @@
 /* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-vfpv3.xml */
+  Original: with-vfpv3.xml */
 
 #include "defs.h"
 #include "osabi.h"
 #include "target-descriptions.h"
 
-struct target_desc *tdesc_arm_with_vfpv3;
+struct target_desc *tdesc_with_vfpv3;
 static void
-initialize_tdesc_arm_with_vfpv3 (void)
+initialize_tdesc_with_vfpv3 (void)
 {
   struct target_desc *result = allocate_target_description ();
   struct tdesc_feature *feature;
@@ -66,5 +66,5 @@ initialize_tdesc_arm_with_vfpv3 (void)
   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;
+  tdesc_with_vfpv3 = result;
 }
diff --git a/gdb/features/arm-with-vfpv2.xml b/gdb/features/arm/with-vfpv3.xml
similarity index 82%
rename from gdb/features/arm-with-vfpv2.xml
rename to gdb/features/arm/with-vfpv3.xml
index 98a5a1c..855ad13 100644
--- a/gdb/features/arm-with-vfpv2.xml
+++ b/gdb/features/arm/with-vfpv3.xml
@@ -7,6 +7,6 @@
 
 <!DOCTYPE target SYSTEM "gdb-target.dtd">
 <target>
-  <xi:include href="arm-core.xml"/>
-  <xi:include href="arm-vfpv2.xml"/>
+  <xi:include href="core.xml"/>
+  <xi:include href="vfpv3.xml"/>
 </target>
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/configure.srv b/gdb/gdbserver/configure.srv
index cc4f53d..1b816ec 100644
--- a/gdb/gdbserver/configure.srv
+++ b/gdb/gdbserver/configure.srv
@@ -58,19 +58,19 @@ case "${target}" in
 			srv_linux_regsets=yes
 			srv_linux_thread_db=yes
 			;;
-  arm*-*-linux*)	srv_regobj="reg-arm.o arm-with-iwmmxt.o"
-			srv_regobj="${srv_regobj} arm-with-vfpv2.o"
-			srv_regobj="${srv_regobj} arm-with-vfpv3.o"
-			srv_regobj="${srv_regobj} arm-with-neon.o"
+  arm*-*-linux*)	srv_regobj="reg-arm.o with-iwmmxt.o"
+			srv_regobj="${srv_regobj} with-vfpv2.o"
+			srv_regobj="${srv_regobj} with-vfpv3.o"
+			srv_regobj="${srv_regobj} 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/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} arm/xscale-iwmmxt.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/vfpv2.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/vfpv3.xml"
 			srv_linux_usrregs=yes
 			srv_linux_regsets=yes
 			srv_linux_thread_db=yes
diff --git a/gdb/testsuite/gdb.xml/tdesc-regs.exp b/gdb/testsuite/gdb.xml/tdesc-regs.exp
index 0e4547c..18a99ba 100644
--- a/gdb/testsuite/gdb.xml/tdesc-regs.exp
+++ b/gdb/testsuite/gdb.xml/tdesc-regs.exp
@@ -28,7 +28,8 @@ set regdir ""
 set architecture ""
 switch -glob -- [istarget] {
     "arm*-*-*" {
-        set core-regs {arm-core.xml}
+        set regdir "arm/"
+        set core-regs {core.xml}
     }
     "*m68k-*-*" {
         set core-regs {m68k-core.xml}

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

* Re: [Patch]Clean up the XML files for ARM
  2014-06-20 10:21                 ` Terry Guo
@ 2014-06-20 11:21                   ` Pedro Alves
  2014-06-22  4:36                     ` Terry Guo
  0 siblings, 1 reply; 18+ messages in thread
From: Pedro Alves @ 2014-06-20 11:21 UTC (permalink / raw)
  To: Terry Guo; +Cc: lgustavo, gdb-patches, 'Will Newton'

On 06/20/2014 11:21 AM, Terry Guo wrote:
> diff --git a/gdb/features/arm-with-m.c b/gdb/features/arm/with-m.c
> similarity index 100%
> rename from gdb/features/arm-with-m.c
> rename to gdb/features/arm/with-m.c

See arm-with-m.c:

/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
  Original: arm-with-m.xml */

That's now stale.  Please regenerate the files (with features/Makefile),
which also serves to make sure we can still regenerate them without
error.

-- 
Pedro Alves

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

* RE: [Patch]Clean up the XML files for ARM
  2014-06-20  9:52               ` Pedro Alves
@ 2014-06-20 10:21                 ` Terry Guo
  2014-06-20 11:21                   ` Pedro Alves
  0 siblings, 1 reply; 18+ messages in thread
From: Terry Guo @ 2014-06-20 10:21 UTC (permalink / raw)
  To: 'Pedro Alves'; +Cc: lgustavo, gdb-patches, 'Will Newton'

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



> -----Original Message-----
> From: Pedro Alves [mailto:palves@redhat.com]
> Sent: Friday, June 20, 2014 5:53 PM
> To: Terry Guo; 'Will Newton'
> Cc: lgustavo@codesourcery.com; gdb-patches@sourceware.org
> Subject: Re: [Patch]Clean up the XML files for ARM
> 
> On 06/20/2014 04:05 AM, Terry Guo wrote:
> >
> > Sorry that I am still new to gdb community. Does this mean the approval of
> this patch? If not, do you know who should I ask to approve this patch?
> Thanks.
> 
> Could you send a git diff -M version, please?
> 
> --
> Pedro Alves
> 

Thank you Pedro. The -M option is so sweet. Attached is the updated version. Please review again.

BR,
Terry

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

diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index 74942b1..6e1bcaa 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/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"
 
 static int arm_debug;
 
diff --git a/gdb/features/Makefile b/gdb/features/Makefile
index dbf4963..93ddbe2 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/with-iwmmxt arm/with-vfpv2 arm/with-vfpv3 arm/with-neon \
+	arm/with-m arm/with-m-fpa-layout 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/with-iwmmxt.dat: 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
similarity index 100%
rename from gdb/features/arm-core.xml
rename to gdb/features/arm/core.xml
diff --git a/gdb/features/arm-fpa.xml b/gdb/features/arm/fpa.xml
similarity index 100%
rename from gdb/features/arm-fpa.xml
rename to gdb/features/arm/fpa.xml
diff --git a/gdb/features/arm-m-profile.xml b/gdb/features/arm/m-profile.xml
similarity index 100%
rename from gdb/features/arm-m-profile.xml
rename to gdb/features/arm/m-profile.xml
diff --git a/gdb/features/arm-vfpv2.xml b/gdb/features/arm/vfpv2.xml
similarity index 100%
rename from gdb/features/arm-vfpv2.xml
rename to gdb/features/arm/vfpv2.xml
diff --git a/gdb/features/arm-vfpv3.xml b/gdb/features/arm/vfpv3.xml
similarity index 100%
rename from gdb/features/arm-vfpv3.xml
rename to gdb/features/arm/vfpv3.xml
diff --git a/gdb/features/arm-with-iwmmxt.c b/gdb/features/arm/with-iwmmxt.c
similarity index 100%
rename from gdb/features/arm-with-iwmmxt.c
rename to gdb/features/arm/with-iwmmxt.c
diff --git a/gdb/features/arm-with-iwmmxt.xml b/gdb/features/arm/with-iwmmxt.xml
similarity index 92%
rename from gdb/features/arm-with-iwmmxt.xml
rename to gdb/features/arm/with-iwmmxt.xml
index 5adadee..6b2939d 100644
--- a/gdb/features/arm-with-iwmmxt.xml
+++ b/gdb/features/arm/with-iwmmxt.xml
@@ -8,6 +8,6 @@
 <!DOCTYPE target SYSTEM "gdb-target.dtd">
 <target>
   <architecture>iwmmxt</architecture>
-  <xi:include href="arm-core.xml"/>
+  <xi:include href="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
similarity index 100%
rename from gdb/features/arm-with-m-fpa-layout.c
rename to gdb/features/arm/with-m-fpa-layout.c
diff --git a/gdb/features/arm-with-m-fpa-layout.xml b/gdb/features/arm/with-m-fpa-layout.xml
similarity index 100%
rename from gdb/features/arm-with-m-fpa-layout.xml
rename to gdb/features/arm/with-m-fpa-layout.xml
diff --git a/gdb/features/arm-with-m-vfp-d16.c b/gdb/features/arm/with-m-vfp-d16.c
similarity index 100%
rename from gdb/features/arm-with-m-vfp-d16.c
rename to gdb/features/arm/with-m-vfp-d16.c
diff --git a/gdb/features/arm-with-m-vfp-d16.xml b/gdb/features/arm/with-m-vfp-d16.xml
similarity index 83%
rename from gdb/features/arm-with-m-vfp-d16.xml
rename to gdb/features/arm/with-m-vfp-d16.xml
index a6527ab..7fb6fb9 100644
--- a/gdb/features/arm-with-m-vfp-d16.xml
+++ b/gdb/features/arm/with-m-vfp-d16.xml
@@ -7,7 +7,7 @@
 
 <!DOCTYPE target SYSTEM "gdb-target.dtd">
 <target>
-  <xi:include href="arm-m-profile.xml"/>
+  <xi:include href="m-profile.xml"/>
   <!-- Layout of vfpv4-sp-d16 is identical to vfpv2 -->
-  <xi:include href="arm-vfpv2.xml"/>
+  <xi:include href="vfpv2.xml"/>
 </target>
diff --git a/gdb/features/arm-with-m.c b/gdb/features/arm/with-m.c
similarity index 100%
rename from gdb/features/arm-with-m.c
rename to gdb/features/arm/with-m.c
diff --git a/gdb/features/arm-with-m.xml b/gdb/features/arm/with-m.xml
similarity index 89%
rename from gdb/features/arm-with-m.xml
rename to gdb/features/arm/with-m.xml
index 6b82405..b1a4316 100644
--- a/gdb/features/arm-with-m.xml
+++ b/gdb/features/arm/with-m.xml
@@ -7,5 +7,5 @@
 
 <!DOCTYPE target SYSTEM "gdb-target.dtd">
 <target>
-  <xi:include href="arm-m-profile.xml"/>
+  <xi:include href="m-profile.xml"/>
 </target>
diff --git a/gdb/features/arm-with-neon.c b/gdb/features/arm/with-neon.c
similarity index 100%
rename from gdb/features/arm-with-neon.c
rename to gdb/features/arm/with-neon.c
diff --git a/gdb/features/arm-with-neon.xml b/gdb/features/arm/with-neon.xml
similarity index 83%
rename from gdb/features/arm-with-neon.xml
rename to gdb/features/arm/with-neon.xml
index 53d1618..096bb5a 100644
--- a/gdb/features/arm-with-neon.xml
+++ b/gdb/features/arm/with-neon.xml
@@ -7,7 +7,7 @@
 
 <!DOCTYPE target SYSTEM "gdb-target.dtd">
 <target>
-  <xi:include href="arm-core.xml"/>
-  <xi:include href="arm-vfpv3.xml"/>
+  <xi:include href="core.xml"/>
+  <xi:include href="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
similarity index 100%
rename from gdb/features/arm-with-vfpv2.c
rename to gdb/features/arm/with-vfpv2.c
diff --git a/gdb/features/arm-with-vfpv3.xml b/gdb/features/arm/with-vfpv2.xml
similarity index 82%
rename from gdb/features/arm-with-vfpv3.xml
rename to gdb/features/arm/with-vfpv2.xml
index aa39548..136c694 100644
--- a/gdb/features/arm-with-vfpv3.xml
+++ b/gdb/features/arm/with-vfpv2.xml
@@ -7,6 +7,6 @@
 
 <!DOCTYPE target SYSTEM "gdb-target.dtd">
 <target>
-  <xi:include href="arm-core.xml"/>
-  <xi:include href="arm-vfpv3.xml"/>
+  <xi:include href="core.xml"/>
+  <xi:include href="vfpv2.xml"/>
 </target>
diff --git a/gdb/features/arm-with-vfpv3.c b/gdb/features/arm/with-vfpv3.c
similarity index 100%
rename from gdb/features/arm-with-vfpv3.c
rename to gdb/features/arm/with-vfpv3.c
diff --git a/gdb/features/arm-with-vfpv2.xml b/gdb/features/arm/with-vfpv3.xml
similarity index 82%
rename from gdb/features/arm-with-vfpv2.xml
rename to gdb/features/arm/with-vfpv3.xml
index 98a5a1c..855ad13 100644
--- a/gdb/features/arm-with-vfpv2.xml
+++ b/gdb/features/arm/with-vfpv3.xml
@@ -7,6 +7,6 @@
 
 <!DOCTYPE target SYSTEM "gdb-target.dtd">
 <target>
-  <xi:include href="arm-core.xml"/>
-  <xi:include href="arm-vfpv2.xml"/>
+  <xi:include href="core.xml"/>
+  <xi:include href="vfpv3.xml"/>
 </target>
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/configure.srv b/gdb/gdbserver/configure.srv
index cc4f53d..1b816ec 100644
--- a/gdb/gdbserver/configure.srv
+++ b/gdb/gdbserver/configure.srv
@@ -58,19 +58,19 @@ case "${target}" in
 			srv_linux_regsets=yes
 			srv_linux_thread_db=yes
 			;;
-  arm*-*-linux*)	srv_regobj="reg-arm.o arm-with-iwmmxt.o"
-			srv_regobj="${srv_regobj} arm-with-vfpv2.o"
-			srv_regobj="${srv_regobj} arm-with-vfpv3.o"
-			srv_regobj="${srv_regobj} arm-with-neon.o"
+  arm*-*-linux*)	srv_regobj="reg-arm.o with-iwmmxt.o"
+			srv_regobj="${srv_regobj} with-vfpv2.o"
+			srv_regobj="${srv_regobj} with-vfpv3.o"
+			srv_regobj="${srv_regobj} 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/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} arm/xscale-iwmmxt.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/vfpv2.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/vfpv3.xml"
 			srv_linux_usrregs=yes
 			srv_linux_regsets=yes
 			srv_linux_thread_db=yes
diff --git a/gdb/testsuite/gdb.xml/tdesc-regs.exp b/gdb/testsuite/gdb.xml/tdesc-regs.exp
index 0e4547c..18a99ba 100644
--- a/gdb/testsuite/gdb.xml/tdesc-regs.exp
+++ b/gdb/testsuite/gdb.xml/tdesc-regs.exp
@@ -28,7 +28,8 @@ set regdir ""
 set architecture ""
 switch -glob -- [istarget] {
     "arm*-*-*" {
-        set core-regs {arm-core.xml}
+        set regdir "arm/"
+        set core-regs {core.xml}
     }
     "*m68k-*-*" {
         set core-regs {m68k-core.xml}

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

* Re: [Patch]Clean up the XML files for ARM
  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
  1 sibling, 1 reply; 18+ messages in thread
From: Pedro Alves @ 2014-06-20  9:52 UTC (permalink / raw)
  To: Terry Guo, 'Will Newton'; +Cc: lgustavo, gdb-patches

On 06/20/2014 04:05 AM, Terry Guo wrote:
> 
> Sorry that I am still new to gdb community. Does this mean the approval of this patch? If not, do you know who should I ask to approve this patch? Thanks.

Could you send a git diff -M version, please?

-- 
Pedro Alves

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

* Re: [Patch]Clean up the XML files for ARM
  2014-06-20  3:05             ` Terry Guo
@ 2014-06-20  5:03               ` Luis Gustavo
  2014-06-20  9:52               ` Pedro Alves
  1 sibling, 0 replies; 18+ messages in thread
From: Luis Gustavo @ 2014-06-20  5:03 UTC (permalink / raw)
  To: Terry Guo, 'Will Newton'; +Cc: lgustavo, gdb-patches

On 06/20/2014 04:05 AM, Terry Guo wrote:
>
>
>>> Hi,
>>>
>>> Attachment is an updated patch with the removal of arm in filename. There
>> is also a change to gdb regression test case. Is this one OK?
>>>
>>> BR,
>>> Terry
>>>
>>> Updated ChangeLog:
>>>
>>>
>>> 2014-06-16  Terry Guo  <terry.guo@arm.com>
>>>
>>>       * features/arm-core.xml: Move to ...
>>>       * features/arm/core.xml: ... here.
>>>       * features/arm-fpa.xml: Move to ...
>>>       * features/arm/fpa.xml: ... here.
>>>       * features/arm-m-profile.xml: Move to ...
>>>       * features/arm/m-profile.xml: ... here.
>>>       * features/arm-vfpv2.xml: Move to ...
>>>       * features/arm/vfpv2.xml: ... here.
>>>       * features/arm-vfpv3.xml: Move to ...
>>>       * features/arm/vfpv3.xml: ... here.
>>>       * features/arm-with-iwmmxt.xml: Move to ...
>>>       * features/arm/with-iwmmxt.xml: ... here.
>>>       * features/arm-with-iwmmxt.c: Move to ...
>>>       * features/arm/with-iwmmxt.c: ... here.
>>>       * features/arm-with-m.xml: Move to ...
>>>       * features/arm/with-m.xml: ... here.
>>>       * features/arm-with-m.c: Move to ...
>>>       * features/arm/with-m.c: ... here.
>>>       * features/arm-with-m-fpa-layout.xml: Move to ...
>>>       * features/arm/with-m-fpa-layout.xml: ... here.
>>>       * features/arm-with-m-fpa-layout.c: Move to ...
>>>       * features/arm/with-m-fpa-layout.c: ... here.
>>>       * features/arm-with-m-vfp-d16.xml: Move to ...
>>>       * features/arm/with-m-vfp-d16.xml: ... here.
>>>       * features/arm-with-m-vfp-d16.c: Move to ...
>>>       * features/arm/with-m-vfp-d16.c: ... here.
>>>       * features/arm-with-neon.xml: Move to ...
>>>       * features/arm/with-neon.xml: ... here.
>>>       * features/arm-with-neon.c: Move to ...
>>>       * features/arm/with-neon.c: ... here.
>>>       * features/arm-with-vfpv2.xml: Move to ...
>>>       * features/arm/with-vfpv2.xml: ... here.
>>>       * features/arm-with-vfpv2.c: Move to ...
>>>       * features/arm/with-vfpv2.c: ... here.
>>>       * features/arm-with-vfpv3.xml: Move to ...
>>>       * features/arm/with-vfpv3.xml: ... here.
>>>       * features/arm-with-vfpv3.c: Move to ...
>>>       * features/arm/with-vfpv3.c: ... here.
>>>       * features/xscale-iwmmxt.xml: Move to ...
>>>       * features/arm/xscale-iwmmxt.xml: ... here.
>>>       * features/Makefile: Use new paths to refer ARM files.
>>>       * arm-tdep.c: Use new paths to include files.
>>>
>>> gdb/gdbserver/ChangeLog:
>>>
>>> 2014-06-16  Terry Guo  <terry.guo@arm.com>
>>>
>>>       * configure.srv: Use new paths to refer ARM XML files.
>>>
>>> 2014-06-16  Terry Guo  <terry.guo@arm.com>
>>>
>>>       * gdb.xml/tdesc-regs.exp (arm): Use new path to refer ARM XML file.
>>
>> This looks ok to me.
>>
>> --
>> Will Newton
>> Toolchain Working Group, Linaro
>
> Sorry that I am still new to gdb community. Does this mean the approval of this patch? If not, do you know who should I ask to approve this patch? Thanks.
>
> BR,
> Terry
>
>

Not yet. One of the maintainers needs to approve it.

Luis

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

* RE: [Patch]Clean up the XML files for ARM
  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
  0 siblings, 2 replies; 18+ messages in thread
From: Terry Guo @ 2014-06-20  3:05 UTC (permalink / raw)
  To: 'Will Newton'; +Cc: lgustavo, gdb-patches



> > Hi,
> >
> > Attachment is an updated patch with the removal of arm in filename. There
> is also a change to gdb regression test case. Is this one OK?
> >
> > BR,
> > Terry
> >
> > Updated ChangeLog:
> >
> >
> > 2014-06-16  Terry Guo  <terry.guo@arm.com>
> >
> >      * features/arm-core.xml: Move to ...
> >      * features/arm/core.xml: ... here.
> >      * features/arm-fpa.xml: Move to ...
> >      * features/arm/fpa.xml: ... here.
> >      * features/arm-m-profile.xml: Move to ...
> >      * features/arm/m-profile.xml: ... here.
> >      * features/arm-vfpv2.xml: Move to ...
> >      * features/arm/vfpv2.xml: ... here.
> >      * features/arm-vfpv3.xml: Move to ...
> >      * features/arm/vfpv3.xml: ... here.
> >      * features/arm-with-iwmmxt.xml: Move to ...
> >      * features/arm/with-iwmmxt.xml: ... here.
> >      * features/arm-with-iwmmxt.c: Move to ...
> >      * features/arm/with-iwmmxt.c: ... here.
> >      * features/arm-with-m.xml: Move to ...
> >      * features/arm/with-m.xml: ... here.
> >      * features/arm-with-m.c: Move to ...
> >      * features/arm/with-m.c: ... here.
> >      * features/arm-with-m-fpa-layout.xml: Move to ...
> >      * features/arm/with-m-fpa-layout.xml: ... here.
> >      * features/arm-with-m-fpa-layout.c: Move to ...
> >      * features/arm/with-m-fpa-layout.c: ... here.
> >      * features/arm-with-m-vfp-d16.xml: Move to ...
> >      * features/arm/with-m-vfp-d16.xml: ... here.
> >      * features/arm-with-m-vfp-d16.c: Move to ...
> >      * features/arm/with-m-vfp-d16.c: ... here.
> >      * features/arm-with-neon.xml: Move to ...
> >      * features/arm/with-neon.xml: ... here.
> >      * features/arm-with-neon.c: Move to ...
> >      * features/arm/with-neon.c: ... here.
> >      * features/arm-with-vfpv2.xml: Move to ...
> >      * features/arm/with-vfpv2.xml: ... here.
> >      * features/arm-with-vfpv2.c: Move to ...
> >      * features/arm/with-vfpv2.c: ... here.
> >      * features/arm-with-vfpv3.xml: Move to ...
> >      * features/arm/with-vfpv3.xml: ... here.
> >      * features/arm-with-vfpv3.c: Move to ...
> >      * features/arm/with-vfpv3.c: ... here.
> >      * features/xscale-iwmmxt.xml: Move to ...
> >      * features/arm/xscale-iwmmxt.xml: ... here.
> >      * features/Makefile: Use new paths to refer ARM files.
> >      * arm-tdep.c: Use new paths to include files.
> >
> > gdb/gdbserver/ChangeLog:
> >
> > 2014-06-16  Terry Guo  <terry.guo@arm.com>
> >
> >      * configure.srv: Use new paths to refer ARM XML files.
> >
> > 2014-06-16  Terry Guo  <terry.guo@arm.com>
> >
> >      * gdb.xml/tdesc-regs.exp (arm): Use new path to refer ARM XML file.
> 
> This looks ok to me.
> 
> --
> Will Newton
> Toolchain Working Group, Linaro

Sorry that I am still new to gdb community. Does this mean the approval of this patch? If not, do you know who should I ask to approve this patch? Thanks.

BR,
Terry


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

* Re: [Patch]Clean up the XML files for ARM
  2014-06-16  2:12         ` Terry Guo
@ 2014-06-16  7:27           ` Will Newton
  2014-06-20  3:05             ` Terry Guo
  0 siblings, 1 reply; 18+ messages in thread
From: Will Newton @ 2014-06-16  7:27 UTC (permalink / raw)
  To: Terry Guo; +Cc: lgustavo, gdb-patches

On 16 June 2014 03:11, Terry Guo <terry.guo@arm.com> wrote:
>
>
>> -----Original Message-----
>> From: gdb-patches-owner@sourceware.org [mailto:gdb-patches-
>> owner@sourceware.org] On Behalf Of Terry Guo
>> Sent: Thursday, June 12, 2014 11:40 AM
>> To: lgustavo@codesourcery.com; 'Will Newton'
>> Cc: gdb-patches@sourceware.org
>> Subject: RE: [Patch]Clean up the XML files for ARM
>>
>>
>>
>> > -----Original Message-----
>> > From: gdb-patches-owner@sourceware.org [mailto:gdb-patches-
>> > owner@sourceware.org] On Behalf Of Luis Machado
>> > Sent: Wednesday, June 11, 2014 7:25 PM
>> > To: Terry Guo; 'Will Newton'
>> > Cc: gdb-patches@sourceware.org
>> > Subject: Re: [Patch]Clean up the XML files for ARM
>> >
>> > On 06/11/2014 10:12 AM, Terry Guo wrote:
>> > >
>> > >
>> > >> -----Original Message-----
>> > >> From: Will Newton [mailto:will.newton@linaro.org]
>> > >> Sent: Wednesday, June 11, 2014 4:16 PM
>> > >> To: Terry Guo
>> > >> Cc: gdb-patches@sourceware.org
>> > >> Subject: Re: [Patch]Clean up the XML files for ARM
>> > >>
>> > >> On 11 June 2014 07:46, Terry Guo <terry.guo@arm.com> wrote:
>> > >>> 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.
>> > >>
>> > >> It seems like we have duplicate "arm" in some of the names now, it
>> > >> might be a good cleanup to rename, e.g.:
>> > >>
>> > >> features/arm/arm-vfpv3.xml -> features/arm/vfpv3.xml
>> > >>
>> > >
>> > > Thanks for comments. But files in folder i386 and rs6000 are same as mine.
>> > Maybe there are reasons to do so.
>> > >
>> > > For example:
>> > >
>> > > i386/
>> > > i386/i386-mmx.c
>> > > i386/32bit-avx512.xml
>> > > i386/x32-avx512.xml
>> > > i386/x32-avx512-linux.c
>> > > i386/32bit-sse.xml
>> > > i386/32bit-mpx.xml
>> > > i386/i386-avx-linux.xml
>> > > i386/i386-mpx.c
>> > > i386/i386-mpx-linux.xml
>> > > i386/x32-core.xml
>> > > i386/64bit-core.xml
>> > > i386/i386.xml
>> > >
>> > > ./rs6000/powerpc-isa205-altivec64l.xml
>> > > ./rs6000/powerpc-e500l.c
>> > > ./rs6000/powerpc-altivec64l.c
>> > > ./rs6000/powerpc-603.xml
>> > > ./rs6000/powerpc-602.xml
>> > > ./rs6000/power64-core.xml
>> > > ./rs6000/powerpc-64.c
>> > > ./rs6000/powerpc-altivec64.c
>> > > ./rs6000/powerpc-505.xml
>> > >
>> > > BR,
>> > > Terry
>> >
>> > I think one of the reasons for having duplication there is that nobody
>> > commented about it, like Will.
>> >
>> > I'd go for the cleaner names without the duplication. The duplication
>> certainly
>> > doesn't add anything to it.
>> >
>>
>> Hi Luis and Will,
>>
>> Thanks both of you. This clears my concerns. I will update this per your
>> comments.
>>
>> BR,
>> Terry
>>
>>
>
> Hi,
>
> Attachment is an updated patch with the removal of arm in filename. There is also a change to gdb regression test case. Is this one OK?
>
> BR,
> Terry
>
> Updated ChangeLog:
>
>
> 2014-06-16  Terry Guo  <terry.guo@arm.com>
>
>      * features/arm-core.xml: Move to ...
>      * features/arm/core.xml: ... here.
>      * features/arm-fpa.xml: Move to ...
>      * features/arm/fpa.xml: ... here.
>      * features/arm-m-profile.xml: Move to ...
>      * features/arm/m-profile.xml: ... here.
>      * features/arm-vfpv2.xml: Move to ...
>      * features/arm/vfpv2.xml: ... here.
>      * features/arm-vfpv3.xml: Move to ...
>      * features/arm/vfpv3.xml: ... here.
>      * features/arm-with-iwmmxt.xml: Move to ...
>      * features/arm/with-iwmmxt.xml: ... here.
>      * features/arm-with-iwmmxt.c: Move to ...
>      * features/arm/with-iwmmxt.c: ... here.
>      * features/arm-with-m.xml: Move to ...
>      * features/arm/with-m.xml: ... here.
>      * features/arm-with-m.c: Move to ...
>      * features/arm/with-m.c: ... here.
>      * features/arm-with-m-fpa-layout.xml: Move to ...
>      * features/arm/with-m-fpa-layout.xml: ... here.
>      * features/arm-with-m-fpa-layout.c: Move to ...
>      * features/arm/with-m-fpa-layout.c: ... here.
>      * features/arm-with-m-vfp-d16.xml: Move to ...
>      * features/arm/with-m-vfp-d16.xml: ... here.
>      * features/arm-with-m-vfp-d16.c: Move to ...
>      * features/arm/with-m-vfp-d16.c: ... here.
>      * features/arm-with-neon.xml: Move to ...
>      * features/arm/with-neon.xml: ... here.
>      * features/arm-with-neon.c: Move to ...
>      * features/arm/with-neon.c: ... here.
>      * features/arm-with-vfpv2.xml: Move to ...
>      * features/arm/with-vfpv2.xml: ... here.
>      * features/arm-with-vfpv2.c: Move to ...
>      * features/arm/with-vfpv2.c: ... here.
>      * features/arm-with-vfpv3.xml: Move to ...
>      * features/arm/with-vfpv3.xml: ... here.
>      * features/arm-with-vfpv3.c: Move to ...
>      * features/arm/with-vfpv3.c: ... here.
>      * features/xscale-iwmmxt.xml: Move to ...
>      * features/arm/xscale-iwmmxt.xml: ... here.
>      * features/Makefile: Use new paths to refer ARM files.
>      * arm-tdep.c: Use new paths to include files.
>
> gdb/gdbserver/ChangeLog:
>
> 2014-06-16  Terry Guo  <terry.guo@arm.com>
>
>      * configure.srv: Use new paths to refer ARM XML files.
>
> 2014-06-16  Terry Guo  <terry.guo@arm.com>
>
>      * gdb.xml/tdesc-regs.exp (arm): Use new path to refer ARM XML file.

This looks ok to me.

-- 
Will Newton
Toolchain Working Group, Linaro

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

* RE: [Patch]Clean up the XML files for ARM
  2014-06-12  3:40       ` Terry Guo
@ 2014-06-16  2:12         ` Terry Guo
  2014-06-16  7:27           ` Will Newton
  0 siblings, 1 reply; 18+ messages in thread
From: Terry Guo @ 2014-06-16  2:12 UTC (permalink / raw)
  To: lgustavo, Will Newton; +Cc: gdb-patches

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



> -----Original Message-----
> From: gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> owner@sourceware.org] On Behalf Of Terry Guo
> Sent: Thursday, June 12, 2014 11:40 AM
> To: lgustavo@codesourcery.com; 'Will Newton'
> Cc: gdb-patches@sourceware.org
> Subject: RE: [Patch]Clean up the XML files for ARM
> 
> 
> 
> > -----Original Message-----
> > From: gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> > owner@sourceware.org] On Behalf Of Luis Machado
> > Sent: Wednesday, June 11, 2014 7:25 PM
> > To: Terry Guo; 'Will Newton'
> > Cc: gdb-patches@sourceware.org
> > Subject: Re: [Patch]Clean up the XML files for ARM
> >
> > On 06/11/2014 10:12 AM, Terry Guo wrote:
> > >
> > >
> > >> -----Original Message-----
> > >> From: Will Newton [mailto:will.newton@linaro.org]
> > >> Sent: Wednesday, June 11, 2014 4:16 PM
> > >> To: Terry Guo
> > >> Cc: gdb-patches@sourceware.org
> > >> Subject: Re: [Patch]Clean up the XML files for ARM
> > >>
> > >> On 11 June 2014 07:46, Terry Guo <terry.guo@arm.com> wrote:
> > >>> 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.
> > >>
> > >> It seems like we have duplicate "arm" in some of the names now, it
> > >> might be a good cleanup to rename, e.g.:
> > >>
> > >> features/arm/arm-vfpv3.xml -> features/arm/vfpv3.xml
> > >>
> > >
> > > Thanks for comments. But files in folder i386 and rs6000 are same as mine.
> > Maybe there are reasons to do so.
> > >
> > > For example:
> > >
> > > i386/
> > > i386/i386-mmx.c
> > > i386/32bit-avx512.xml
> > > i386/x32-avx512.xml
> > > i386/x32-avx512-linux.c
> > > i386/32bit-sse.xml
> > > i386/32bit-mpx.xml
> > > i386/i386-avx-linux.xml
> > > i386/i386-mpx.c
> > > i386/i386-mpx-linux.xml
> > > i386/x32-core.xml
> > > i386/64bit-core.xml
> > > i386/i386.xml
> > >
> > > ./rs6000/powerpc-isa205-altivec64l.xml
> > > ./rs6000/powerpc-e500l.c
> > > ./rs6000/powerpc-altivec64l.c
> > > ./rs6000/powerpc-603.xml
> > > ./rs6000/powerpc-602.xml
> > > ./rs6000/power64-core.xml
> > > ./rs6000/powerpc-64.c
> > > ./rs6000/powerpc-altivec64.c
> > > ./rs6000/powerpc-505.xml
> > >
> > > BR,
> > > Terry
> >
> > I think one of the reasons for having duplication there is that nobody
> > commented about it, like Will.
> >
> > I'd go for the cleaner names without the duplication. The duplication
> certainly
> > doesn't add anything to it.
> >
> 
> Hi Luis and Will,
> 
> Thanks both of you. This clears my concerns. I will update this per your
> comments.
> 
> BR,
> Terry
> 
> 

Hi,

Attachment is an updated patch with the removal of arm in filename. There is also a change to gdb regression test case. Is this one OK?

BR,
Terry

Updated ChangeLog:


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

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

gdb/gdbserver/ChangeLog:

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

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

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

     * gdb.xml/tdesc-regs.exp (arm): Use new path to refer ARM XML file.

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

diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index 74942b1..6e1bcaa 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/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"
 
 static int arm_debug;
 
diff --git a/gdb/features/Makefile b/gdb/features/Makefile
index dbf4963..93ddbe2 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/with-iwmmxt arm/with-vfpv2 arm/with-vfpv3 arm/with-neon \
+	arm/with-m arm/with-m-fpa-layout 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/with-iwmmxt.dat: 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/core.xml b/gdb/features/arm/core.xml
new file mode 100644
index 0000000..422d9bd
--- /dev/null
+++ b/gdb/features/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/fpa.xml b/gdb/features/arm/fpa.xml
new file mode 100644
index 0000000..8e21450
--- /dev/null
+++ b/gdb/features/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/m-profile.xml b/gdb/features/arm/m-profile.xml
new file mode 100644
index 0000000..06d660a
--- /dev/null
+++ b/gdb/features/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/vfpv2.xml b/gdb/features/arm/vfpv2.xml
new file mode 100644
index 0000000..5e552e0
--- /dev/null
+++ b/gdb/features/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/vfpv3.xml b/gdb/features/arm/vfpv3.xml
new file mode 100644
index 0000000..4cd5983
--- /dev/null
+++ b/gdb/features/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/with-iwmmxt.c b/gdb/features/arm/with-iwmmxt.c
new file mode 100644
index 0000000..1770e03
--- /dev/null
+++ b/gdb/features/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/with-iwmmxt.xml b/gdb/features/arm/with-iwmmxt.xml
new file mode 100644
index 0000000..6b2939d
--- /dev/null
+++ b/gdb/features/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="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
new file mode 100644
index 0000000..bc51f05
--- /dev/null
+++ b/gdb/features/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/with-m-fpa-layout.xml b/gdb/features/arm/with-m-fpa-layout.xml
new file mode 100644
index 0000000..18b5b0a
--- /dev/null
+++ b/gdb/features/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/with-m-vfp-d16.c b/gdb/features/arm/with-m-vfp-d16.c
new file mode 100644
index 0000000..a0da583
--- /dev/null
+++ b/gdb/features/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/with-m-vfp-d16.xml b/gdb/features/arm/with-m-vfp-d16.xml
new file mode 100644
index 0000000..7fb6fb9
--- /dev/null
+++ b/gdb/features/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="m-profile.xml"/>
+  <!-- Layout of vfpv4-sp-d16 is identical to vfpv2 -->
+  <xi:include href="vfpv2.xml"/>
+</target>
diff --git a/gdb/features/arm/with-m.c b/gdb/features/arm/with-m.c
new file mode 100644
index 0000000..8e27a80
--- /dev/null
+++ b/gdb/features/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/with-m.xml b/gdb/features/arm/with-m.xml
new file mode 100644
index 0000000..b1a4316
--- /dev/null
+++ b/gdb/features/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="m-profile.xml"/>
+</target>
diff --git a/gdb/features/arm/with-neon.c b/gdb/features/arm/with-neon.c
new file mode 100644
index 0000000..61c9a3a
--- /dev/null
+++ b/gdb/features/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/with-neon.xml b/gdb/features/arm/with-neon.xml
new file mode 100644
index 0000000..096bb5a
--- /dev/null
+++ b/gdb/features/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="core.xml"/>
+  <xi:include href="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
new file mode 100644
index 0000000..78e3c81
--- /dev/null
+++ b/gdb/features/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/with-vfpv2.xml b/gdb/features/arm/with-vfpv2.xml
new file mode 100644
index 0000000..136c694
--- /dev/null
+++ b/gdb/features/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="core.xml"/>
+  <xi:include href="vfpv2.xml"/>
+</target>
diff --git a/gdb/features/arm/with-vfpv3.c b/gdb/features/arm/with-vfpv3.c
new file mode 100644
index 0000000..e48ca79
--- /dev/null
+++ b/gdb/features/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/with-vfpv3.xml b/gdb/features/arm/with-vfpv3.xml
new file mode 100644
index 0000000..855ad13
--- /dev/null
+++ b/gdb/features/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="core.xml"/>
+  <xi:include href="vfpv3.xml"/>
+</target>
diff --git a/gdb/features/arm/xscale-iwmmxt.xml b/gdb/features/arm/xscale-iwmmxt.xml
new file mode 100644
index 0000000..cf25067d
--- /dev/null
+++ b/gdb/features/arm/xscale-iwmmxt.xml
@@ -0,0 +1,44 @@
+<?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.xscale.iwmmxt">
+  <vector id="iwmmxt_v8u8" type="uint8" count="8"/>
+  <vector id="iwmmxt_v4u16" type="uint16" count="4"/>
+  <vector id="iwmmxt_v2u32" type="uint32" count="2"/>
+  <union id="iwmmxt_vec64i">
+    <field name="u8" type="iwmmxt_v8u8"/>
+    <field name="u16" type="iwmmxt_v4u16"/>
+    <field name="u32" type="iwmmxt_v2u32"/>
+    <field name="u64" type="uint64"/>
+  </union>
+
+  <reg name="wR0" bitsize="64" type="iwmmxt_vec64i"/>
+  <reg name="wR1" bitsize="64" type="iwmmxt_vec64i"/>
+  <reg name="wR2" bitsize="64" type="iwmmxt_vec64i"/>
+  <reg name="wR3" bitsize="64" type="iwmmxt_vec64i"/>
+  <reg name="wR4" bitsize="64" type="iwmmxt_vec64i"/>
+  <reg name="wR5" bitsize="64" type="iwmmxt_vec64i"/>
+  <reg name="wR6" bitsize="64" type="iwmmxt_vec64i"/>
+  <reg name="wR7" bitsize="64" type="iwmmxt_vec64i"/>
+  <reg name="wR8" bitsize="64" type="iwmmxt_vec64i"/>
+  <reg name="wR9" bitsize="64" type="iwmmxt_vec64i"/>
+  <reg name="wR10" bitsize="64" type="iwmmxt_vec64i"/>
+  <reg name="wR11" bitsize="64" type="iwmmxt_vec64i"/>
+  <reg name="wR12" bitsize="64" type="iwmmxt_vec64i"/>
+  <reg name="wR13" bitsize="64" type="iwmmxt_vec64i"/>
+  <reg name="wR14" bitsize="64" type="iwmmxt_vec64i"/>
+  <reg name="wR15" bitsize="64" type="iwmmxt_vec64i"/>
+
+  <reg name="wCSSF" bitsize="32" type="int" group="vector"/>
+  <reg name="wCASF" bitsize="32" type="int" group="vector"/>
+
+  <reg name="wCGR0" bitsize="32" type="int" group="vector"/>
+  <reg name="wCGR1" bitsize="32" type="int" group="vector"/>
+  <reg name="wCGR2" bitsize="32" type="int" group="vector"/>
+  <reg name="wCGR3" bitsize="32" type="int" group="vector"/>
+</feature>
diff --git a/gdb/features/xscale-iwmmxt.xml b/gdb/features/xscale-iwmmxt.xml
deleted file mode 100644
index cf25067d..0000000
--- a/gdb/features/xscale-iwmmxt.xml
+++ /dev/null
@@ -1,44 +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.xscale.iwmmxt">
-  <vector id="iwmmxt_v8u8" type="uint8" count="8"/>
-  <vector id="iwmmxt_v4u16" type="uint16" count="4"/>
-  <vector id="iwmmxt_v2u32" type="uint32" count="2"/>
-  <union id="iwmmxt_vec64i">
-    <field name="u8" type="iwmmxt_v8u8"/>
-    <field name="u16" type="iwmmxt_v4u16"/>
-    <field name="u32" type="iwmmxt_v2u32"/>
-    <field name="u64" type="uint64"/>
-  </union>
-
-  <reg name="wR0" bitsize="64" type="iwmmxt_vec64i"/>
-  <reg name="wR1" bitsize="64" type="iwmmxt_vec64i"/>
-  <reg name="wR2" bitsize="64" type="iwmmxt_vec64i"/>
-  <reg name="wR3" bitsize="64" type="iwmmxt_vec64i"/>
-  <reg name="wR4" bitsize="64" type="iwmmxt_vec64i"/>
-  <reg name="wR5" bitsize="64" type="iwmmxt_vec64i"/>
-  <reg name="wR6" bitsize="64" type="iwmmxt_vec64i"/>
-  <reg name="wR7" bitsize="64" type="iwmmxt_vec64i"/>
-  <reg name="wR8" bitsize="64" type="iwmmxt_vec64i"/>
-  <reg name="wR9" bitsize="64" type="iwmmxt_vec64i"/>
-  <reg name="wR10" bitsize="64" type="iwmmxt_vec64i"/>
-  <reg name="wR11" bitsize="64" type="iwmmxt_vec64i"/>
-  <reg name="wR12" bitsize="64" type="iwmmxt_vec64i"/>
-  <reg name="wR13" bitsize="64" type="iwmmxt_vec64i"/>
-  <reg name="wR14" bitsize="64" type="iwmmxt_vec64i"/>
-  <reg name="wR15" bitsize="64" type="iwmmxt_vec64i"/>
-
-  <reg name="wCSSF" bitsize="32" type="int" group="vector"/>
-  <reg name="wCASF" bitsize="32" type="int" group="vector"/>
-
-  <reg name="wCGR0" bitsize="32" type="int" group="vector"/>
-  <reg name="wCGR1" bitsize="32" type="int" group="vector"/>
-  <reg name="wCGR2" bitsize="32" type="int" group="vector"/>
-  <reg name="wCGR3" bitsize="32" type="int" group="vector"/>
-</feature>
diff --git a/gdb/gdbserver/configure.srv b/gdb/gdbserver/configure.srv
index cc4f53d..1b816ec 100644
--- a/gdb/gdbserver/configure.srv
+++ b/gdb/gdbserver/configure.srv
@@ -58,19 +58,19 @@ case "${target}" in
 			srv_linux_regsets=yes
 			srv_linux_thread_db=yes
 			;;
-  arm*-*-linux*)	srv_regobj="reg-arm.o arm-with-iwmmxt.o"
-			srv_regobj="${srv_regobj} arm-with-vfpv2.o"
-			srv_regobj="${srv_regobj} arm-with-vfpv3.o"
-			srv_regobj="${srv_regobj} arm-with-neon.o"
+  arm*-*-linux*)	srv_regobj="reg-arm.o with-iwmmxt.o"
+			srv_regobj="${srv_regobj} with-vfpv2.o"
+			srv_regobj="${srv_regobj} with-vfpv3.o"
+			srv_regobj="${srv_regobj} 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/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} arm/xscale-iwmmxt.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/vfpv2.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/vfpv3.xml"
 			srv_linux_usrregs=yes
 			srv_linux_regsets=yes
 			srv_linux_thread_db=yes
diff --git a/gdb/testsuite/gdb.xml/tdesc-regs.exp b/gdb/testsuite/gdb.xml/tdesc-regs.exp
index 0e4547c..18a99ba 100644
--- a/gdb/testsuite/gdb.xml/tdesc-regs.exp
+++ b/gdb/testsuite/gdb.xml/tdesc-regs.exp
@@ -28,7 +28,8 @@ set regdir ""
 set architecture ""
 switch -glob -- [istarget] {
     "arm*-*-*" {
-        set core-regs {arm-core.xml}
+        set regdir "arm/"
+        set core-regs {core.xml}
     }
     "*m68k-*-*" {
         set core-regs {m68k-core.xml}

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

* RE: [Patch]Clean up the XML files for ARM
  2014-06-11 11:24     ` Luis Machado
@ 2014-06-12  3:40       ` Terry Guo
  2014-06-16  2:12         ` Terry Guo
  0 siblings, 1 reply; 18+ messages in thread
From: Terry Guo @ 2014-06-12  3:40 UTC (permalink / raw)
  To: lgustavo, 'Will Newton'; +Cc: gdb-patches



> -----Original Message-----
> From: gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> owner@sourceware.org] On Behalf Of Luis Machado
> Sent: Wednesday, June 11, 2014 7:25 PM
> To: Terry Guo; 'Will Newton'
> Cc: gdb-patches@sourceware.org
> Subject: Re: [Patch]Clean up the XML files for ARM
> 
> On 06/11/2014 10:12 AM, Terry Guo wrote:
> >
> >
> >> -----Original Message-----
> >> From: Will Newton [mailto:will.newton@linaro.org]
> >> Sent: Wednesday, June 11, 2014 4:16 PM
> >> To: Terry Guo
> >> Cc: gdb-patches@sourceware.org
> >> Subject: Re: [Patch]Clean up the XML files for ARM
> >>
> >> On 11 June 2014 07:46, Terry Guo <terry.guo@arm.com> wrote:
> >>> 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.
> >>
> >> It seems like we have duplicate "arm" in some of the names now, it
> >> might be a good cleanup to rename, e.g.:
> >>
> >> features/arm/arm-vfpv3.xml -> features/arm/vfpv3.xml
> >>
> >
> > Thanks for comments. But files in folder i386 and rs6000 are same as mine.
> Maybe there are reasons to do so.
> >
> > For example:
> >
> > i386/
> > i386/i386-mmx.c
> > i386/32bit-avx512.xml
> > i386/x32-avx512.xml
> > i386/x32-avx512-linux.c
> > i386/32bit-sse.xml
> > i386/32bit-mpx.xml
> > i386/i386-avx-linux.xml
> > i386/i386-mpx.c
> > i386/i386-mpx-linux.xml
> > i386/x32-core.xml
> > i386/64bit-core.xml
> > i386/i386.xml
> >
> > ./rs6000/powerpc-isa205-altivec64l.xml
> > ./rs6000/powerpc-e500l.c
> > ./rs6000/powerpc-altivec64l.c
> > ./rs6000/powerpc-603.xml
> > ./rs6000/powerpc-602.xml
> > ./rs6000/power64-core.xml
> > ./rs6000/powerpc-64.c
> > ./rs6000/powerpc-altivec64.c
> > ./rs6000/powerpc-505.xml
> >
> > BR,
> > Terry
> 
> I think one of the reasons for having duplication there is that nobody
> commented about it, like Will.
> 
> I'd go for the cleaner names without the duplication. The duplication certainly
> doesn't add anything to it.
> 

Hi Luis and Will,

Thanks both of you. This clears my concerns. I will update this per your comments.

BR,
Terry


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

* Re: [Patch]Clean up the XML files for ARM
  2014-06-11  9:12   ` Terry Guo
@ 2014-06-11 11:24     ` Luis Machado
  2014-06-12  3:40       ` Terry Guo
  0 siblings, 1 reply; 18+ messages in thread
From: Luis Machado @ 2014-06-11 11:24 UTC (permalink / raw)
  To: Terry Guo, 'Will Newton'; +Cc: gdb-patches

On 06/11/2014 10:12 AM, Terry Guo wrote:
>
>
>> -----Original Message-----
>> From: Will Newton [mailto:will.newton@linaro.org]
>> Sent: Wednesday, June 11, 2014 4:16 PM
>> To: Terry Guo
>> Cc: gdb-patches@sourceware.org
>> Subject: Re: [Patch]Clean up the XML files for ARM
>>
>> On 11 June 2014 07:46, Terry Guo <terry.guo@arm.com> wrote:
>>> 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.
>>
>> It seems like we have duplicate "arm" in some of the names now, it might be
>> a good cleanup to rename, e.g.:
>>
>> features/arm/arm-vfpv3.xml -> features/arm/vfpv3.xml
>>
>
> Thanks for comments. But files in folder i386 and rs6000 are same as mine. Maybe there are reasons to do so.
>
> For example:
>
> i386/
> i386/i386-mmx.c
> i386/32bit-avx512.xml
> i386/x32-avx512.xml
> i386/x32-avx512-linux.c
> i386/32bit-sse.xml
> i386/32bit-mpx.xml
> i386/i386-avx-linux.xml
> i386/i386-mpx.c
> i386/i386-mpx-linux.xml
> i386/x32-core.xml
> i386/64bit-core.xml
> i386/i386.xml
>
> ./rs6000/powerpc-isa205-altivec64l.xml
> ./rs6000/powerpc-e500l.c
> ./rs6000/powerpc-altivec64l.c
> ./rs6000/powerpc-603.xml
> ./rs6000/powerpc-602.xml
> ./rs6000/power64-core.xml
> ./rs6000/powerpc-64.c
> ./rs6000/powerpc-altivec64.c
> ./rs6000/powerpc-505.xml
>
> BR,
> Terry

I think one of the reasons for having duplication there is that nobody 
commented about it, like Will.

I'd go for the cleaner names without the duplication. The duplication 
certainly doesn't add anything to it.

Luis

Luis

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

* RE: [Patch]Clean up the XML files for ARM
  2014-06-11  8:16 ` Will Newton
@ 2014-06-11  9:12   ` Terry Guo
  2014-06-11 11:24     ` Luis Machado
  0 siblings, 1 reply; 18+ messages in thread
From: Terry Guo @ 2014-06-11  9:12 UTC (permalink / raw)
  To: 'Will Newton'; +Cc: gdb-patches



> -----Original Message-----
> From: Will Newton [mailto:will.newton@linaro.org]
> Sent: Wednesday, June 11, 2014 4:16 PM
> To: Terry Guo
> Cc: gdb-patches@sourceware.org
> Subject: Re: [Patch]Clean up the XML files for ARM
> 
> On 11 June 2014 07:46, Terry Guo <terry.guo@arm.com> wrote:
> > 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.
> 
> It seems like we have duplicate "arm" in some of the names now, it might be
> a good cleanup to rename, e.g.:
> 
> features/arm/arm-vfpv3.xml -> features/arm/vfpv3.xml
> 

Thanks for comments. But files in folder i386 and rs6000 are same as mine. Maybe there are reasons to do so.

For example:

i386/
i386/i386-mmx.c
i386/32bit-avx512.xml
i386/x32-avx512.xml
i386/x32-avx512-linux.c
i386/32bit-sse.xml
i386/32bit-mpx.xml
i386/i386-avx-linux.xml
i386/i386-mpx.c
i386/i386-mpx-linux.xml
i386/x32-core.xml
i386/64bit-core.xml
i386/i386.xml

./rs6000/powerpc-isa205-altivec64l.xml
./rs6000/powerpc-e500l.c
./rs6000/powerpc-altivec64l.c
./rs6000/powerpc-603.xml
./rs6000/powerpc-602.xml
./rs6000/power64-core.xml
./rs6000/powerpc-64.c
./rs6000/powerpc-altivec64.c
./rs6000/powerpc-505.xml

BR,
Terry


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

* Re: [Patch]Clean up the XML files for ARM
  2014-06-11  6:46 [Patch]Clean " Terry Guo
@ 2014-06-11  8:16 ` Will Newton
  2014-06-11  9:12   ` Terry Guo
  0 siblings, 1 reply; 18+ messages in thread
From: Will Newton @ 2014-06-11  8:16 UTC (permalink / raw)
  To: Terry Guo; +Cc: gdb-patches

On 11 June 2014 07:46, Terry Guo <terry.guo@arm.com> wrote:
> 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.

It seems like we have duplicate "arm" in some of the names now, it
might be a good cleanup to rename, e.g.:

features/arm/arm-vfpv3.xml -> features/arm/vfpv3.xml

> gdb/gdbserver/ChangeLog:
>
> 2014-06-11  Terry Guo  <terry.guo@arm.com>
>
>      * configure.srv: Use new paths to refer ARM XML files.

-- 
Will Newton
Toolchain Working Group, Linaro

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

* [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

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 --
2016-10-04 10:11 [PATCH] Clean up the XML files for ARM Yao Qi
2016-10-04 18:40 ` Pedro Alves
2016-10-05  8:38   ` Yao Qi
  -- strict thread matches above, loose matches on Subject: below --
2014-06-11  6:46 [Patch]Clean " 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

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).