@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
From: Alan Hayward <alan.hayward@arm.com> 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. Alan. 2018-03-21 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(+)