old-cross-binutils/gdb/features
Walfred Tedeschi 2b863f512d Add target descriptions for AVX + MPX
The current MPX target descriptions assume that MPX is always combined
with AVX, however that's not correct.  We can have machines with MPX
and without AVX; or machines with AVX and without MPX.

This patch adds new target descriptions for machines that support
both MPX and AVX, as duplicates of the existing MPX descriptions.

The following commit will remove AVX from the MPX-only descriptions.


2016-04-16  Walfred Tedeschi  <walfred.tedeschi@intel.com>

gdb/ChangeLog:

	* amd64-linux-tdep.c (features/i386/amd64-avx-mpx-linux.c):
	New include.
	(amd64_linux_core_read_description): Add case for
	 X86_XSTATE_AVX_MPX_MASK.
	(_initialize_amd64_linux_tdep): Call initialize_tdesc_amd64_avx_mpx_linux.
	* amd64-linux-tdep.h (tdesc_amd64_avx_mpx_linux): New definition.
	* amd64-tdep.c (features/i386/amd64-avx-mpx.c): New include.
	(amd64_target_description): Add case for  X86_XSTATE_AVX_MPX_MASK.
	(_initialize_amd64_tdep): Call initialize_tdesc_amd64_avx_mpx.
	* common/x86-xstate.h (X86_XSTATE_MPX_MASK): Remove AVX bits.
	(X86_XSTATE_AVX_MPX_MASK): New case.
	* features/Makefile (i386/i386-avx-mpx, i386/i386-avx-mpx-linux)
	(i386/amd64-avx-mpx, i386/amd64-avx-mpx-linux): New rules.
	(i386/i386-avx-mpx-expedite, i386/i386-avx-mpx-linux-expedite)
	(i386/amd64-avx-mpx-expedite, i386/amd64-avx-mpx-linux-expedite):
	New expedites.
	* i386-linux-tdep.c (features/i386/i386-avx-mpx-linux.c): New
	include.
	(i386_linux_core_read_description): Add case
	X86_XSTATE_AVX_MPX_MASK.
	(_initialize_i386_linux_tdep): Call
	initialize_tdesc_i386_avx_mpx_linux.
	* i386-linux-tdep.h (tdesc_i386_avx_mpx_linux): New include.
	* i386-tdep.c (features/i386/i386-avx-mpx.c): New include.
	(i386_target_description): Add case for X86_XSTATE_AVX_MPX_MASK.
	* x86-linux-nat.c (x86_linux_read_description): Add case for
	X86_XSTATE_AVX_MPX_MASK.
	* features/i386/amd64-avx-mpx-linux.xml: New file.
	* features/i386/i386-avx-mpx-linux.xml: New file.
	* features/i386/i386-avx-mpx.xml: New file.
	* features/i386/amd64-avx-mpx.xml: New file.
	* features/i386/amd64-avx-mpx-linux.c: Generated.
	* features/i386/amd64-avx-mpx.c: Generated.
	* features/i386/i386-avx-mpx-linux.c: Generated.
	* features/i386/i386-avx-mpx.c: Generated.
	* regformats/i386/amd64-avx-mpx-linux.dat: Generated.
	* regformats/i386/amd64-avx-mpx.dat: Generated.
	* regformats/i386/i386-avx-mpx-linux.dat: Generated.
	* regformats/i386/i386-avx-mpx.dat: Generated.

gdb/gdbserver/ChangeLog:

	* Makefile.in (clean): Add removal for i386-avx-mpx.c,
	i386-avx-mpx-linux.c, amd64-avx-mpx.c and amd64-avx-mpx-linux.c.
	(i386-avx-mpx.c, i386-avx-mpx-linux.c, amd64-avx-mpx.c)
	(amd64-avx-mpx-linux.c): New rules.
	(amd64-avx-mpx-linux-ipa.o, i386-avx-mpx-linux-ipa.o): New rule.
	* configure.srv (srv_i386_regobj): Add i386-avx-mpx.o.
	(srv_i386_linux_regobj): Add i386-avx-mpx-linux.o.
	(srv_amd64_regobj): Add amd64-avx-mpx.o.
	(srv_amd64_linux_regobj): Add amd64-avx-mpx-linux.o.
	(srv_i386_xmlfiles): Add i386/i386-avx-mpx.xml.
	(srv_amd64_xmlfiles): Add i386/amd64-avx-mpx.xml.
	(srv_i386_linux_xmlfiles): Add i386/i386-avx-mpx-linux.xml.
	(srv_amd64_linux_xmlfiles): Add i386/amd64-avx-mpx-linux.xml.
	(ipa_i386_linux_regobj): Add i386-avx-mpx-linux-ipa.o.
	(ipa_amd64_linux_regobj): Add amd64-avx-mpx-linux-ipa.o.
	* linux-x86-low.c (x86_linux_read_description): Add case for
	X86_XSTATE_AVX_MPX_MASK.
	(x86_get_ipa_tdesc_idx): Add cases for avx_mpx.
	(initialize_low_arch): Call init_registers_amd64_avx_mpx_linux and
	init_registers_i386_avx_mpx_linux.
	* linux-i386-ipa.c (get_ipa_tdesc): Add case for avx_mpx.
	(initialize_low_tracepoint): Call
	init_registers_i386_avx_mpx_linux.
	* linux-amd64-ipa.c (get_ipa_tdesc):  Add case for avx_mpx.
	(initialize_low_tracepoint): Call
	init_registers_amd64_avx_mpx_linux.
	* linux-x86-tdesc.h (X86_TDESC_AVX_MPX): New enum value.
	(init_registers_amd64_avx_mpx_linux, tdesc_amd64_avx_mpx_linux)
	(init_registers_i386_avx_mpx_linux, tdesc_i386_avx_mpx_linux): New
	declarations.
2016-04-19 15:44:32 +02:00
..
i386 Add target descriptions for AVX + MPX 2016-04-19 15:44:32 +02:00
rs6000 GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
aarch64-core.xml Add cpsr_flags to aarch64 core regs. 2016-03-15 14:43:49 -07:00
aarch64-fpu.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
aarch64.c Add cpsr_flags to aarch64 core regs. 2016-03-15 14:43:49 -07:00
aarch64.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
arm-core.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
arm-fpa.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
arm-m-profile.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
arm-vfpv2.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
arm-vfpv3.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
arm-with-iwmmxt.c
arm-with-iwmmxt.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
arm-with-m-fpa-layout.c
arm-with-m-fpa-layout.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
arm-with-m-vfp-d16.c
arm-with-m-vfp-d16.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
arm-with-m.c
arm-with-m.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
arm-with-neon.c
arm-with-neon.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
arm-with-vfpv2.c
arm-with-vfpv2.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
arm-with-vfpv3.c
arm-with-vfpv3.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
btrace-conf.dtd GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
btrace.dtd GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
feature_to_c.sh feature_to_c.sh: Print help when passing no arguments 2016-03-04 10:03:06 -05:00
gdb-target.dtd Extend flags to support multibit and enum bitfields. 2016-03-15 14:37:29 -07:00
gdbserver-regs.xsl
library-list-aix.dtd GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
library-list-svr4.dtd GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
library-list.dtd GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
m68k-core.xml
Makefile Add target descriptions for AVX + MPX 2016-04-19 15:44:32 +02:00
microblaze-core.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
microblaze-stack-protect.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
microblaze-with-stack-protect.c
microblaze-with-stack-protect.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
microblaze.c
microblaze.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
mips-cp0.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
mips-cpu.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
mips-dsp-linux.c
mips-dsp-linux.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
mips-dsp.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
mips-fpu.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
mips-linux.c
mips-linux.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
mips64-cp0.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
mips64-cpu.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
mips64-dsp-linux.c
mips64-dsp-linux.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
mips64-dsp.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
mips64-fpu.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
mips64-linux.c
mips64-linux.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
nios2-cpu.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
nios2-linux.c
nios2-linux.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
nios2.c
nios2.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
number-regs.xsl
osdata.dtd GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390-acr.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390-core32.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390-core64.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390-fpr.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390-linux32.c
s390-linux32.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390-linux32v1.c
s390-linux32v1.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390-linux32v2.c
s390-linux32v2.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390-linux64.c
s390-linux64.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390-linux64v1.c
s390-linux64v1.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390-linux64v2.c
s390-linux64v2.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390-tdb.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390-te-linux64.c
s390-te-linux64.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390-tevx-linux64.c
s390-tevx-linux64.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390-vx-linux64.c
s390-vx-linux64.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390-vx.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390x-core64.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390x-linux64.c
s390x-linux64.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390x-linux64v1.c
s390x-linux64v1.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390x-linux64v2.c
s390x-linux64v2.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390x-te-linux64.c
s390x-te-linux64.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390x-tevx-linux64.c
s390x-tevx-linux64.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390x-vx-linux64.c
s390x-vx-linux64.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
sort-regs.xsl
threads.dtd GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
tic6x-c6xp.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
tic6x-c62x-linux.c
tic6x-c62x-linux.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
tic6x-c62x.c
tic6x-c62x.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
tic6x-c64x-linux.c
tic6x-c64x-linux.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
tic6x-c64x.c
tic6x-c64x.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
tic6x-c64xp-linux.c
tic6x-c64xp-linux.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
tic6x-c64xp.c
tic6x-c64xp.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
tic6x-core.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
tic6x-gp.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
traceframe-info.dtd GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
xinclude.dtd GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
xscale-iwmmxt.xml GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00