Patchwork [v5,5/8] Add feature reference in .dat files

login
register
mail settings
Submitter Alan Hayward
Date April 10, 2018, 2:33 p.m.
Message ID <20180410143337.71768-6-alan.hayward@arm.com>
Download mbox | patch
Permalink /patch/26671/
State New
Headers show

Comments

Alan Hayward - April 10, 2018, 2:33 p.m.
For all targets which use the newer style target descriptions, add a
"feature" marker in the dat files.
Update regdat.sh to parse feature, but do not use it (yet).

In the xml printer patch we want to ensure that only targets which
use the newer style descriptions dynamically generate xml. Other targets
should continue to return the name of the xml file.
The "feature" marker will enable this.

Identical to V4 version.

Alan.

2018-04-10  Alan Hayward  <alan.hayward@arm.com>

	* features/Makefile: Add feature marker to targets with new style
	target descriptions.
	* regformats/aarch64.dat: Regenerate.
	* regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
	* regformats/i386/amd64-avx-linux.dat: Likewise.
	* regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
	* regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
	* regformats/i386/amd64-linux.dat: Likewise.
	* regformats/i386/amd64-mpx-linux.dat: Likewise.
	* regformats/i386/amd64.dat: Likewise.
	* regformats/i386/i386-avx-avx512-linux.dat: Likewise.
	* regformats/i386/i386-avx-linux.dat: Likewise.
	* regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
	* regformats/i386/i386-avx-mpx-linux.dat: Likewise.
	* regformats/i386/i386-linux.dat: Likewise.
	* regformats/i386/i386-mmx-linux.dat: Likewise.
	* regformats/i386/i386-mpx-linux.dat: Likewise.
	* regformats/i386/i386.dat: Likewise.
	* regformats/i386/x32-avx-avx512-linux.dat: Likewise.
	* regformats/i386/x32-avx-linux.dat: Likewise.
	* regformats/i386/x32-linux.dat: Likewise.
	* regformats/tic6x-c62x-linux.dat: Likewise.
	* regformats/tic6x-c64x-linux.dat: Likewise.
	* regformats/tic6x-c64xp-linux.dat: Likewise.
	* regformats/regdat.sh: Parse feature marker.
---
 gdb/features/Makefile                                  | 6 ++++++
 gdb/regformats/aarch64.dat                             | 1 +
 gdb/regformats/i386/amd64-avx-avx512-linux.dat         | 1 +
 gdb/regformats/i386/amd64-avx-linux.dat                | 1 +
 gdb/regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat | 1 +
 gdb/regformats/i386/amd64-avx-mpx-linux.dat            | 1 +
 gdb/regformats/i386/amd64-linux.dat                    | 1 +
 gdb/regformats/i386/amd64-mpx-linux.dat                | 1 +
 gdb/regformats/i386/amd64.dat                          | 1 +
 gdb/regformats/i386/i386-avx-avx512-linux.dat          | 1 +
 gdb/regformats/i386/i386-avx-linux.dat                 | 1 +
 gdb/regformats/i386/i386-avx-mpx-avx512-pku-linux.dat  | 1 +
 gdb/regformats/i386/i386-avx-mpx-linux.dat             | 1 +
 gdb/regformats/i386/i386-linux.dat                     | 1 +
 gdb/regformats/i386/i386-mmx-linux.dat                 | 1 +
 gdb/regformats/i386/i386-mpx-linux.dat                 | 1 +
 gdb/regformats/i386/i386.dat                           | 1 +
 gdb/regformats/i386/x32-avx-avx512-linux.dat           | 1 +
 gdb/regformats/i386/x32-avx-linux.dat                  | 1 +
 gdb/regformats/i386/x32-linux.dat                      | 1 +
 gdb/regformats/regdat.sh                               | 4 ++++
 gdb/regformats/tic6x-c62x-linux.dat                    | 1 +
 gdb/regformats/tic6x-c64x-linux.dat                    | 1 +
 gdb/regformats/tic6x-c64xp-linux.dat                   | 1 +
 24 files changed, 32 insertions(+)

Patch

diff --git a/gdb/features/Makefile b/gdb/features/Makefile
index 82609f5862..168c46e003 100644
--- a/gdb/features/Makefile
+++ b/gdb/features/Makefile
@@ -193,12 +193,18 @@  XMLTOC = \
 TDESC_CFILES = $(patsubst %.xml,%.c,$(XMLTOC))
 GDB = false
 
+#Targets which use feature based target descriptions.
+aarch64-feature = 1
+i386-feature = 1
+tic6x-feature = 1
+
 all: $(OUTPUTS)
 
 $(outdir)/%.dat: %.xml number-regs.xsl sort-regs.xsl gdbserver-regs.xsl
 	echo "# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:" > $(outdir)/$*.tmp
 	echo "# Generated from: $<" >> $(outdir)/$*.tmp
 	echo "name:`echo $(notdir $*) | sed 's/-/_/g'`" >> $(outdir)/$*.tmp
+	$(if $($(firstword $(subst /, ,$(subst -, ,$*)))-feature), echo "feature:1") >> $(outdir)/$*.tmp
 	echo "xmltarget:$(<F)" >> $(outdir)/$*.tmp
 	echo "expedite:$(if $($*-expedite),$($*-expedite),$($(firstword $(subst -, ,$(notdir $*)))-expedite))" \
 	  >> $(outdir)/$*.tmp
diff --git a/gdb/regformats/aarch64.dat b/gdb/regformats/aarch64.dat
index d4cea04358..75ba89a92e 100644
--- a/gdb/regformats/aarch64.dat
+++ b/gdb/regformats/aarch64.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: aarch64.xml
 name:aarch64
+feature:1
 xmltarget:aarch64.xml
 expedite:x29,sp,pc
 64:x0
diff --git a/gdb/regformats/i386/amd64-avx-avx512-linux.dat b/gdb/regformats/i386/amd64-avx-avx512-linux.dat
index 0743693886..6cb97964b3 100644
--- a/gdb/regformats/i386/amd64-avx-avx512-linux.dat
+++ b/gdb/regformats/i386/amd64-avx-avx512-linux.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/amd64-avx-avx512-linux.xml
 name:amd64_avx_avx512_linux
+feature:1
 xmltarget:amd64-avx-avx512-linux.xml
 expedite:rbp,rsp,rip
 64:rax
diff --git a/gdb/regformats/i386/amd64-avx-linux.dat b/gdb/regformats/i386/amd64-avx-linux.dat
index 7780b3b6a2..54dad1d0a7 100644
--- a/gdb/regformats/i386/amd64-avx-linux.dat
+++ b/gdb/regformats/i386/amd64-avx-linux.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/amd64-avx-linux.xml
 name:amd64_avx_linux
+feature:1
 xmltarget:amd64-avx-linux.xml
 expedite:rbp,rsp,rip
 64:rax
diff --git a/gdb/regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat b/gdb/regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat
index 9cd0fae820..8f326389f1 100644
--- a/gdb/regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat
+++ b/gdb/regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/amd64-avx-mpx-avx512-pku-linux.xml
 name:amd64_avx_mpx_avx512_pku_linux
+feature:1
 xmltarget:amd64-avx-mpx-avx512-pku-linux.xml
 expedite:rbp,rsp,rip
 64:rax
diff --git a/gdb/regformats/i386/amd64-avx-mpx-linux.dat b/gdb/regformats/i386/amd64-avx-mpx-linux.dat
index 7c2f928070..92ffa0694f 100644
--- a/gdb/regformats/i386/amd64-avx-mpx-linux.dat
+++ b/gdb/regformats/i386/amd64-avx-mpx-linux.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/amd64-avx-mpx-linux.xml
 name:amd64_avx_mpx_linux
+feature:1
 xmltarget:amd64-avx-mpx-linux.xml
 expedite:rbp,rsp,rip
 64:rax
diff --git a/gdb/regformats/i386/amd64-linux.dat b/gdb/regformats/i386/amd64-linux.dat
index cd16a15442..81e6aef361 100644
--- a/gdb/regformats/i386/amd64-linux.dat
+++ b/gdb/regformats/i386/amd64-linux.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/amd64-linux.xml
 name:amd64_linux
+feature:1
 xmltarget:amd64-linux.xml
 expedite:rbp,rsp,rip
 64:rax
diff --git a/gdb/regformats/i386/amd64-mpx-linux.dat b/gdb/regformats/i386/amd64-mpx-linux.dat
index 10487f6987..c90b1b5b8a 100644
--- a/gdb/regformats/i386/amd64-mpx-linux.dat
+++ b/gdb/regformats/i386/amd64-mpx-linux.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/amd64-mpx-linux.xml
 name:amd64_mpx_linux
+feature:1
 xmltarget:amd64-mpx-linux.xml
 expedite:rbp,rsp,rip
 64:rax
diff --git a/gdb/regformats/i386/amd64.dat b/gdb/regformats/i386/amd64.dat
index 66f26ad094..fde8c1dbe2 100644
--- a/gdb/regformats/i386/amd64.dat
+++ b/gdb/regformats/i386/amd64.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/amd64.xml
 name:amd64
+feature:1
 xmltarget:amd64.xml
 expedite:rbp,rsp,rip
 64:rax
diff --git a/gdb/regformats/i386/i386-avx-avx512-linux.dat b/gdb/regformats/i386/i386-avx-avx512-linux.dat
index 4477133997..57530978df 100644
--- a/gdb/regformats/i386/i386-avx-avx512-linux.dat
+++ b/gdb/regformats/i386/i386-avx-avx512-linux.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/i386-avx-avx512-linux.xml
 name:i386_avx_avx512_linux
+feature:1
 xmltarget:i386-avx-avx512-linux.xml
 expedite:ebp,esp,eip
 32:eax
diff --git a/gdb/regformats/i386/i386-avx-linux.dat b/gdb/regformats/i386/i386-avx-linux.dat
index 1c3fcfd763..6a81302766 100644
--- a/gdb/regformats/i386/i386-avx-linux.dat
+++ b/gdb/regformats/i386/i386-avx-linux.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/i386-avx-linux.xml
 name:i386_avx_linux
+feature:1
 xmltarget:i386-avx-linux.xml
 expedite:ebp,esp,eip
 32:eax
diff --git a/gdb/regformats/i386/i386-avx-mpx-avx512-pku-linux.dat b/gdb/regformats/i386/i386-avx-mpx-avx512-pku-linux.dat
index 515ee10525..ef6216be92 100644
--- a/gdb/regformats/i386/i386-avx-mpx-avx512-pku-linux.dat
+++ b/gdb/regformats/i386/i386-avx-mpx-avx512-pku-linux.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/i386-avx-mpx-avx512-pku-linux.xml
 name:i386_avx_mpx_avx512_pku_linux
+feature:1
 xmltarget:i386-avx-mpx-avx512-pku-linux.xml
 expedite:ebp,esp,eip
 32:eax
diff --git a/gdb/regformats/i386/i386-avx-mpx-linux.dat b/gdb/regformats/i386/i386-avx-mpx-linux.dat
index 831c476fef..f15bd1a89d 100644
--- a/gdb/regformats/i386/i386-avx-mpx-linux.dat
+++ b/gdb/regformats/i386/i386-avx-mpx-linux.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/i386-avx-mpx-linux.xml
 name:i386_avx_mpx_linux
+feature:1
 xmltarget:i386-avx-mpx-linux.xml
 expedite:ebp,esp,eip
 32:eax
diff --git a/gdb/regformats/i386/i386-linux.dat b/gdb/regformats/i386/i386-linux.dat
index 0e414e6490..5203cd4ef0 100644
--- a/gdb/regformats/i386/i386-linux.dat
+++ b/gdb/regformats/i386/i386-linux.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/i386-linux.xml
 name:i386_linux
+feature:1
 xmltarget:i386-linux.xml
 expedite:ebp,esp,eip
 32:eax
diff --git a/gdb/regformats/i386/i386-mmx-linux.dat b/gdb/regformats/i386/i386-mmx-linux.dat
index aa2a564ac7..736874273e 100644
--- a/gdb/regformats/i386/i386-mmx-linux.dat
+++ b/gdb/regformats/i386/i386-mmx-linux.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/i386-mmx-linux.xml
 name:i386_mmx_linux
+feature:1
 xmltarget:i386-mmx-linux.xml
 expedite:ebp,esp,eip
 32:eax
diff --git a/gdb/regformats/i386/i386-mpx-linux.dat b/gdb/regformats/i386/i386-mpx-linux.dat
index 1dcdce98cf..856ef4b1c9 100644
--- a/gdb/regformats/i386/i386-mpx-linux.dat
+++ b/gdb/regformats/i386/i386-mpx-linux.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/i386-mpx-linux.xml
 name:i386_mpx_linux
+feature:1
 xmltarget:i386-mpx-linux.xml
 expedite:ebp,esp,eip
 32:eax
diff --git a/gdb/regformats/i386/i386.dat b/gdb/regformats/i386/i386.dat
index 13abb485e4..e707ed2790 100644
--- a/gdb/regformats/i386/i386.dat
+++ b/gdb/regformats/i386/i386.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/i386.xml
 name:i386
+feature:1
 xmltarget:i386.xml
 expedite:ebp,esp,eip
 32:eax
diff --git a/gdb/regformats/i386/x32-avx-avx512-linux.dat b/gdb/regformats/i386/x32-avx-avx512-linux.dat
index 00786172fb..a9bd1d4bb3 100644
--- a/gdb/regformats/i386/x32-avx-avx512-linux.dat
+++ b/gdb/regformats/i386/x32-avx-avx512-linux.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/x32-avx-avx512-linux.xml
 name:x32_avx_avx512_linux
+feature:1
 xmltarget:x32-avx-avx512-linux.xml
 expedite:rbp,rsp,rip
 64:rax
diff --git a/gdb/regformats/i386/x32-avx-linux.dat b/gdb/regformats/i386/x32-avx-linux.dat
index eb0e395366..9c43fa48f5 100644
--- a/gdb/regformats/i386/x32-avx-linux.dat
+++ b/gdb/regformats/i386/x32-avx-linux.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/x32-avx-linux.xml
 name:x32_avx_linux
+feature:1
 xmltarget:x32-avx-linux.xml
 expedite:rbp,rsp,rip
 64:rax
diff --git a/gdb/regformats/i386/x32-linux.dat b/gdb/regformats/i386/x32-linux.dat
index eee378fd84..fda1a89de0 100644
--- a/gdb/regformats/i386/x32-linux.dat
+++ b/gdb/regformats/i386/x32-linux.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: i386/x32-linux.xml
 name:x32_linux
+feature:1
 xmltarget:x32-linux.xml
 expedite:rbp,rsp,rip
 64:rax
diff --git a/gdb/regformats/regdat.sh b/gdb/regformats/regdat.sh
index 8c6e191596..18108d77eb 100755
--- a/gdb/regformats/regdat.sh
+++ b/gdb/regformats/regdat.sh
@@ -118,6 +118,7 @@  xmltarget=x
 xmlarch=x
 xmlosabi=x
 expedite=x
+feature=x
 exec < $1
 while do_read
 do
@@ -145,6 +146,9 @@  do
   elif test "${type}" = "expedite"; then
     expedite="${entry}"
     continue
+  elif test "${type}" = "feature"; then
+    feature="${entry}"
+    continue
   elif test "${name}" = x; then
     echo "$0: $1 does not specify \`\`name''." 1>&2
     exit 1
diff --git a/gdb/regformats/tic6x-c62x-linux.dat b/gdb/regformats/tic6x-c62x-linux.dat
index 82f2a0a0bf..98ca39e110 100644
--- a/gdb/regformats/tic6x-c62x-linux.dat
+++ b/gdb/regformats/tic6x-c62x-linux.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: tic6x-c62x-linux.xml
 name:tic6x_c62x_linux
+feature:1
 xmltarget:tic6x-c62x-linux.xml
 expedite:A15,PC
 32:A0
diff --git a/gdb/regformats/tic6x-c64x-linux.dat b/gdb/regformats/tic6x-c64x-linux.dat
index 542826ad1d..91e84baebc 100644
--- a/gdb/regformats/tic6x-c64x-linux.dat
+++ b/gdb/regformats/tic6x-c64x-linux.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: tic6x-c64x-linux.xml
 name:tic6x_c64x_linux
+feature:1
 xmltarget:tic6x-c64x-linux.xml
 expedite:A15,PC
 32:A0
diff --git a/gdb/regformats/tic6x-c64xp-linux.dat b/gdb/regformats/tic6x-c64xp-linux.dat
index 229b3c26c2..a3fa3b7cd4 100644
--- a/gdb/regformats/tic6x-c64xp-linux.dat
+++ b/gdb/regformats/tic6x-c64xp-linux.dat
@@ -1,6 +1,7 @@ 
 # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
 # Generated from: tic6x-c64xp-linux.xml
 name:tic6x_c64xp_linux
+feature:1
 xmltarget:tic6x-c64xp-linux.xml
 expedite:A15,PC
 32:A0