binutils-gdb/gdb/features
Yao Qi ea03d0d3c3 Lazily and dynamically create i386-linux target descriptions
Instead of using pre-generated target descriptions, this patch
changes GDB to lazily and dynamically create target descriptions
according to the target hardware capability (xcr0 in i386).
This support any combination of target features.

Some reg in target description has "regnum" attribute, so its register
number is got from the attribute value instead from sequential allocation.

  <reg name="xmm0" bitsize="128" type="vec128" regnum="32"/>

when target description is created, it should match the regnum, so this
patch adds a new field m_next_regnum to track it, if attribute number is
greater than the m_next_regnum, print the code to set register number
explicitly.

gdb:

2017-07-26  Yao Qi  <yao.qi@linaro.org>

	* i386-linux-tdep.c: Don't include features/i386/i386-*linux.c.
	Include features/i386/32bit-*.c.
	(i386_linux_read_description): Generate target description if it
	doesn't exist.
	(_initialize_i386_linux_tdep): Don't call _initialize_tdesc_i386
	functions.
	* features/i386/32bit-linux.c: Re-generated.
	* features/i386/32bit-sse.c: Likewise.
	* target-descriptions.c (print_c_feature::visit): Print code to
	set register number if needed.
	(print_c_feature) <m_next_regnum>: New field.
2017-07-26 14:39:54 +01:00
..
arm Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
i386 Lazily and dynamically create i386-linux target descriptions 2017-07-26 14:39:54 +01:00
rs6000 Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
sparc gdb: provide and use sparc{32,64} target description XML files. 2017-02-05 23:44:03 -08:00
aarch64-core.xml
aarch64-fpu.xml
aarch64.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
aarch64.xml
arc-arcompact.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
arc-arcompact.xml
arc-v2.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
arc-v2.xml
btrace-conf.dtd
btrace.dtd
feature_to_c.sh
gdb-target.dtd
gdbserver-regs.xsl
library-list-aix.dtd
library-list-svr4.dtd
library-list.dtd
m68k-core.xml
Makefile Generate c for feature instead of tdesc 2017-07-26 14:24:08 +01:00
microblaze-core.xml
microblaze-stack-protect.xml
microblaze-with-stack-protect.c
microblaze-with-stack-protect.xml
microblaze.c
microblaze.xml
mips64-cp0.xml
mips64-cpu.xml
mips64-dsp-linux.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
mips64-dsp-linux.xml
mips64-dsp.xml
mips64-fpu.xml
mips64-linux.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
mips64-linux.xml
mips-cp0.xml
mips-cpu.xml
mips-dsp-linux.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
mips-dsp-linux.xml
mips-dsp.xml
mips-fpu.xml
mips-linux.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
mips-linux.xml
nds32-core.xml
nds32-fpu.xml
nds32-system.xml
nds32.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
nds32.xml
nios2-cpu.xml
nios2-linux.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
nios2-linux.xml
nios2.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
nios2.xml
number-regs.xsl
osdata.dtd
s390-acr.xml
s390-core32.xml
s390-core64.xml
s390-fpr.xml
s390-linux32.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
s390-linux32.xml
s390-linux32v1.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
s390-linux32v1.xml
s390-linux32v2.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
s390-linux32v2.xml
s390-linux64.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
s390-linux64.xml
s390-linux64v1.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
s390-linux64v1.xml
s390-linux64v2.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
s390-linux64v2.xml
s390-tdb.xml
s390-te-linux64.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
s390-te-linux64.xml
s390-tevx-linux64.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
s390-tevx-linux64.xml
s390-vx-linux64.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
s390-vx-linux64.xml
s390-vx.xml
s390x-core64.xml
s390x-linux64.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
s390x-linux64.xml
s390x-linux64v1.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
s390x-linux64v1.xml
s390x-linux64v2.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
s390x-linux64v2.xml
s390x-te-linux64.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
s390x-te-linux64.xml
s390x-tevx-linux64.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
s390x-tevx-linux64.xml
s390x-vx-linux64.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
s390x-vx-linux64.xml
sort-regs.xsl
threads.dtd
tic6x-c6xp.xml
tic6x-c62x-linux.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
tic6x-c62x-linux.xml
tic6x-c62x.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
tic6x-c62x.xml
tic6x-c64x-linux.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
tic6x-c64x-linux.xml
tic6x-c64x.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
tic6x-c64x.xml
tic6x-c64xp-linux.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
tic6x-c64xp-linux.xml
tic6x-c64xp.c Use visitor pattern for "maint print c-tdesc" 2017-07-26 12:56:54 +01:00
tic6x-c64xp.xml
tic6x-core.xml
tic6x-gp.xml
traceframe-info.dtd
xinclude.dtd