mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-03-01 13:26:47 +08:00
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. |
||
---|---|---|
.. | ||
arm | ||
i386 | ||
rs6000 | ||
sparc | ||
aarch64-core.xml | ||
aarch64-fpu.xml | ||
aarch64.c | ||
aarch64.xml | ||
arc-arcompact.c | ||
arc-arcompact.xml | ||
arc-v2.c | ||
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 | ||
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 | ||
mips64-dsp-linux.xml | ||
mips64-dsp.xml | ||
mips64-fpu.xml | ||
mips64-linux.c | ||
mips64-linux.xml | ||
mips-cp0.xml | ||
mips-cpu.xml | ||
mips-dsp-linux.c | ||
mips-dsp-linux.xml | ||
mips-dsp.xml | ||
mips-fpu.xml | ||
mips-linux.c | ||
mips-linux.xml | ||
nds32-core.xml | ||
nds32-fpu.xml | ||
nds32-system.xml | ||
nds32.c | ||
nds32.xml | ||
nios2-cpu.xml | ||
nios2-linux.c | ||
nios2-linux.xml | ||
nios2.c | ||
nios2.xml | ||
number-regs.xsl | ||
osdata.dtd | ||
s390-acr.xml | ||
s390-core32.xml | ||
s390-core64.xml | ||
s390-fpr.xml | ||
s390-linux32.c | ||
s390-linux32.xml | ||
s390-linux32v1.c | ||
s390-linux32v1.xml | ||
s390-linux32v2.c | ||
s390-linux32v2.xml | ||
s390-linux64.c | ||
s390-linux64.xml | ||
s390-linux64v1.c | ||
s390-linux64v1.xml | ||
s390-linux64v2.c | ||
s390-linux64v2.xml | ||
s390-tdb.xml | ||
s390-te-linux64.c | ||
s390-te-linux64.xml | ||
s390-tevx-linux64.c | ||
s390-tevx-linux64.xml | ||
s390-vx-linux64.c | ||
s390-vx-linux64.xml | ||
s390-vx.xml | ||
s390x-core64.xml | ||
s390x-linux64.c | ||
s390x-linux64.xml | ||
s390x-linux64v1.c | ||
s390x-linux64v1.xml | ||
s390x-linux64v2.c | ||
s390x-linux64v2.xml | ||
s390x-te-linux64.c | ||
s390x-te-linux64.xml | ||
s390x-tevx-linux64.c | ||
s390x-tevx-linux64.xml | ||
s390x-vx-linux64.c | ||
s390x-vx-linux64.xml | ||
sort-regs.xsl | ||
threads.dtd | ||
tic6x-c6xp.xml | ||
tic6x-c62x-linux.c | ||
tic6x-c62x-linux.xml | ||
tic6x-c62x.c | ||
tic6x-c62x.xml | ||
tic6x-c64x-linux.c | ||
tic6x-c64x-linux.xml | ||
tic6x-c64x.c | ||
tic6x-c64x.xml | ||
tic6x-c64xp-linux.c | ||
tic6x-c64xp-linux.xml | ||
tic6x-c64xp.c | ||
tic6x-c64xp.xml | ||
tic6x-core.xml | ||
tic6x-gp.xml | ||
traceframe-info.dtd | ||
xinclude.dtd |