forked from Imagelibrary/binutils-gdb
Add x86 XML target description files.
2010-02-07 H.J. Lu <hongjiu.lu@intel.com> * features/Makefile (WHICH): Add i386/i386, i386/i386-linux, i386/amd64 and i386/amd64-linux. (i386/i386-expedite): New. (i386/i386-linux-expedite): Likewise. (i386/amd64-expedite):Likewise. (i386/amd64-linux-expedite): Likewise. ($(outdir)/i386/i386-linux.dat): Likewise. ($(outdir)/i386/amd64.dat): Likewise. ($(outdir)/i386/amd64-linux.dat): Likewise. * features/i386/32bit-core.xml: New. * features/i386/32bit-linux.xml: Likewise. * features/i386/32bit-sse.xml: Likewise. * features/i386/64bit-core.xml: Likewise. * features/i386/64bit-linux.xml: Likewise. * features/i386/64bit-sse.xml: Likewise. * features/i386/i386-linux.xml: Likewise. * features/i386/i386.xml: Likewise. * features/i386/amd64-linux.xml: Likewise. * features/i386/amd64.xml: Likewise. * features/i386/i386-linux.c: Likewise. * features/i386/i386.c: Likewise. * features/i386/amd64-linux.c: Likewise. * features/i386/amd64.c: Likewise.
This commit is contained in:
@@ -1,3 +1,30 @@
|
||||
2010-02-07 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* features/Makefile (WHICH): Add i386/i386, i386/i386-linux,
|
||||
i386/amd64 and i386/amd64-linux.
|
||||
(i386/i386-expedite): New.
|
||||
(i386/i386-linux-expedite): Likewise.
|
||||
(i386/amd64-expedite):Likewise.
|
||||
(i386/amd64-linux-expedite): Likewise.
|
||||
($(outdir)/i386/i386-linux.dat): Likewise.
|
||||
($(outdir)/i386/amd64.dat): Likewise.
|
||||
($(outdir)/i386/amd64-linux.dat): Likewise.
|
||||
|
||||
* features/i386/32bit-core.xml: New.
|
||||
* features/i386/32bit-linux.xml: Likewise.
|
||||
* features/i386/32bit-sse.xml: Likewise.
|
||||
* features/i386/64bit-core.xml: Likewise.
|
||||
* features/i386/64bit-linux.xml: Likewise.
|
||||
* features/i386/64bit-sse.xml: Likewise.
|
||||
* features/i386/i386-linux.xml: Likewise.
|
||||
* features/i386/i386.xml: Likewise.
|
||||
* features/i386/amd64-linux.xml: Likewise.
|
||||
* features/i386/amd64.xml: Likewise.
|
||||
* features/i386/i386-linux.c: Likewise.
|
||||
* features/i386/i386.c: Likewise.
|
||||
* features/i386/amd64-linux.c: Likewise.
|
||||
* features/i386/amd64.c: Likewise.
|
||||
|
||||
2010-02-05 Sami Wagiaalla <swagiaal@redhat.com>
|
||||
|
||||
PR c++/7935:
|
||||
|
||||
@@ -31,6 +31,8 @@
|
||||
# make GDB=/path/to/gdb XMLTOC="xml files" cfiles
|
||||
|
||||
WHICH = arm-with-iwmmxt arm-with-vfpv2 arm-with-vfpv3 arm-with-neon \
|
||||
i386/i386 i386/i386-linux \
|
||||
i386/amd64 i386/amd64-linux \
|
||||
mips-linux mips64-linux \
|
||||
rs6000/powerpc-32l rs6000/powerpc-altivec32l rs6000/powerpc-e500l \
|
||||
rs6000/powerpc-64l rs6000/powerpc-altivec64l rs6000/powerpc-vsx32l \
|
||||
@@ -39,6 +41,10 @@ WHICH = arm-with-iwmmxt arm-with-vfpv2 arm-with-vfpv3 arm-with-neon \
|
||||
|
||||
# Record which registers should be sent to GDB by default after stop.
|
||||
arm-expedite = r11,sp,pc
|
||||
i386/i386-expedite = ebp,esp,eip
|
||||
i386/i386-linux-expedite = ebp,esp,eip
|
||||
i386/amd64-expedite = rbp,rsp,rip
|
||||
i386/amd64-linux-expedite = rbp,rsp,rip
|
||||
mips-expedite = r29,pc
|
||||
mips64-expedite = r29,pc
|
||||
powerpc-expedite = r1,pc
|
||||
@@ -78,3 +84,9 @@ cfiles: $(CFILES)
|
||||
|
||||
# Other dependencies.
|
||||
$(outdir)/arm-with-iwmmxt.dat: arm-core.xml xscale-iwmmxt.xml
|
||||
$(outdir)/i386/i386.dat: i386/32bit-core.xml i386/32bit-sse.xml
|
||||
$(outdir)/i386/i386-linux.dat: i386/32bit-core.xml i386/32bit-sse.xml \
|
||||
i386/32bit-linux.xml
|
||||
$(outdir)/i386/amd64.dat: i386/64bit-core.xml i386/64bit-sse.xml
|
||||
$(outdir)/i386/amd64-linux.dat: i386/64bit-core.xml i386/64bit-sse.xml \
|
||||
i386/64bit-linux.xml
|
||||
|
||||
45
gdb/features/i386/32bit-core.xml
Normal file
45
gdb/features/i386/32bit-core.xml
Normal file
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved. -->
|
||||
|
||||
<!DOCTYPE feature SYSTEM "gdb-target.dtd">
|
||||
<feature name="org.gnu.gdb.i386.core">
|
||||
<reg name="eax" bitsize="32" type="int32"/>
|
||||
<reg name="ecx" bitsize="32" type="int32"/>
|
||||
<reg name="edx" bitsize="32" type="int32"/>
|
||||
<reg name="ebx" bitsize="32" type="int32"/>
|
||||
<reg name="esp" bitsize="32" type="data_ptr"/>
|
||||
<reg name="ebp" bitsize="32" type="data_ptr"/>
|
||||
<reg name="esi" bitsize="32" type="int32"/>
|
||||
<reg name="edi" bitsize="32" type="int32"/>
|
||||
|
||||
<reg name="eip" bitsize="32" type="code_ptr"/>
|
||||
<reg name="eflags" bitsize="32" type="i386_eflags"/>
|
||||
<reg name="cs" bitsize="32" type="int32"/>
|
||||
<reg name="ss" bitsize="32" type="int32"/>
|
||||
<reg name="ds" bitsize="32" type="int32"/>
|
||||
<reg name="es" bitsize="32" type="int32"/>
|
||||
<reg name="fs" bitsize="32" type="int32"/>
|
||||
<reg name="gs" bitsize="32" type="int32"/>
|
||||
|
||||
<reg name="st0" bitsize="80" type="i387_ext"/>
|
||||
<reg name="st1" bitsize="80" type="i387_ext"/>
|
||||
<reg name="st2" bitsize="80" type="i387_ext"/>
|
||||
<reg name="st3" bitsize="80" type="i387_ext"/>
|
||||
<reg name="st4" bitsize="80" type="i387_ext"/>
|
||||
<reg name="st5" bitsize="80" type="i387_ext"/>
|
||||
<reg name="st6" bitsize="80" type="i387_ext"/>
|
||||
<reg name="st7" bitsize="80" type="i387_ext"/>
|
||||
|
||||
<reg name="fctrl" bitsize="32" type="int" group="float"/>
|
||||
<reg name="fstat" bitsize="32" type="int" group="float"/>
|
||||
<reg name="ftag" bitsize="32" type="int" group="float"/>
|
||||
<reg name="fiseg" bitsize="32" type="int" group="float"/>
|
||||
<reg name="fioff" bitsize="32" type="int" group="float"/>
|
||||
<reg name="foseg" bitsize="32" type="int" group="float"/>
|
||||
<reg name="fooff" bitsize="32" type="int" group="float"/>
|
||||
<reg name="fop" bitsize="32" type="int" group="float"/>
|
||||
</feature>
|
||||
11
gdb/features/i386/32bit-linux.xml
Normal file
11
gdb/features/i386/32bit-linux.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved. -->
|
||||
|
||||
<!DOCTYPE feature SYSTEM "gdb-target.dtd">
|
||||
<feature name="org.gnu.gdb.i386.linux">
|
||||
<reg name="orig_eax" bitsize="32" type="int" regnum="41"/>
|
||||
</feature>
|
||||
36
gdb/features/i386/32bit-sse.xml
Normal file
36
gdb/features/i386/32bit-sse.xml
Normal file
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved. -->
|
||||
|
||||
<!DOCTYPE feature SYSTEM "gdb-target.dtd">
|
||||
<feature name="org.gnu.gdb.i386.sse">
|
||||
<vector id="v4f" type="ieee_single" count="4"/>
|
||||
<vector id="v2d" type="ieee_double" count="2"/>
|
||||
<vector id="v16i8" type="int8" count="16"/>
|
||||
<vector id="v8i16" type="int16" count="8"/>
|
||||
<vector id="v4i32" type="int32" count="4"/>
|
||||
<vector id="v2i64" type="int64" count="2"/>
|
||||
<union id="vec128">
|
||||
<field name="v4_float" type="v4f"/>
|
||||
<field name="v2_double" type="v2d"/>
|
||||
<field name="v16_int8" type="v16i8"/>
|
||||
<field name="v8_int16" type="v8i16"/>
|
||||
<field name="v4_int32" type="v4i32"/>
|
||||
<field name="v2_int64" type="v2i64"/>
|
||||
<field name="uint128" type="uint128"/>
|
||||
</union>
|
||||
|
||||
<reg name="xmm0" bitsize="128" type="vec128" regnum="32"/>
|
||||
<reg name="xmm1" bitsize="128" type="vec128"/>
|
||||
<reg name="xmm2" bitsize="128" type="vec128"/>
|
||||
<reg name="xmm3" bitsize="128" type="vec128"/>
|
||||
<reg name="xmm4" bitsize="128" type="vec128"/>
|
||||
<reg name="xmm5" bitsize="128" type="vec128"/>
|
||||
<reg name="xmm6" bitsize="128" type="vec128"/>
|
||||
<reg name="xmm7" bitsize="128" type="vec128"/>
|
||||
|
||||
<reg name="mxcsr" bitsize="32" type="i386_mxcsr" group="vector"/>
|
||||
</feature>
|
||||
53
gdb/features/i386/64bit-core.xml
Normal file
53
gdb/features/i386/64bit-core.xml
Normal file
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved. -->
|
||||
|
||||
<!DOCTYPE feature SYSTEM "gdb-target.dtd">
|
||||
<feature name="org.gnu.gdb.i386.core">
|
||||
<reg name="rax" bitsize="64" type="int64"/>
|
||||
<reg name="rbx" bitsize="64" type="int64"/>
|
||||
<reg name="rcx" bitsize="64" type="int64"/>
|
||||
<reg name="rdx" bitsize="64" type="int64"/>
|
||||
<reg name="rsi" bitsize="64" type="int64"/>
|
||||
<reg name="rdi" bitsize="64" type="int64"/>
|
||||
<reg name="rbp" bitsize="64" type="data_ptr"/>
|
||||
<reg name="rsp" bitsize="64" type="data_ptr"/>
|
||||
<reg name="r8" bitsize="64" type="int64"/>
|
||||
<reg name="r9" bitsize="64" type="int64"/>
|
||||
<reg name="r10" bitsize="64" type="int64"/>
|
||||
<reg name="r11" bitsize="64" type="int64"/>
|
||||
<reg name="r12" bitsize="64" type="int64"/>
|
||||
<reg name="r13" bitsize="64" type="int64"/>
|
||||
<reg name="r14" bitsize="64" type="int64"/>
|
||||
<reg name="r15" bitsize="64" type="int64"/>
|
||||
|
||||
<reg name="rip" bitsize="64" type="code_ptr"/>
|
||||
<reg name="eflags" bitsize="32" type="i386_eflags"/>
|
||||
<reg name="cs" bitsize="32" type="int32"/>
|
||||
<reg name="ss" bitsize="32" type="int32"/>
|
||||
<reg name="ds" bitsize="32" type="int32"/>
|
||||
<reg name="es" bitsize="32" type="int32"/>
|
||||
<reg name="fs" bitsize="32" type="int32"/>
|
||||
<reg name="gs" bitsize="32" type="int32"/>
|
||||
|
||||
<reg name="st0" bitsize="80" type="i387_ext"/>
|
||||
<reg name="st1" bitsize="80" type="i387_ext"/>
|
||||
<reg name="st2" bitsize="80" type="i387_ext"/>
|
||||
<reg name="st3" bitsize="80" type="i387_ext"/>
|
||||
<reg name="st4" bitsize="80" type="i387_ext"/>
|
||||
<reg name="st5" bitsize="80" type="i387_ext"/>
|
||||
<reg name="st6" bitsize="80" type="i387_ext"/>
|
||||
<reg name="st7" bitsize="80" type="i387_ext"/>
|
||||
|
||||
<reg name="fctrl" bitsize="32" type="int" group="float"/>
|
||||
<reg name="fstat" bitsize="32" type="int" group="float"/>
|
||||
<reg name="ftag" bitsize="32" type="int" group="float"/>
|
||||
<reg name="fiseg" bitsize="32" type="int" group="float"/>
|
||||
<reg name="fioff" bitsize="32" type="int" group="float"/>
|
||||
<reg name="foseg" bitsize="32" type="int" group="float"/>
|
||||
<reg name="fooff" bitsize="32" type="int" group="float"/>
|
||||
<reg name="fop" bitsize="32" type="int" group="float"/>
|
||||
</feature>
|
||||
11
gdb/features/i386/64bit-linux.xml
Normal file
11
gdb/features/i386/64bit-linux.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved. -->
|
||||
|
||||
<!DOCTYPE feature SYSTEM "gdb-target.dtd">
|
||||
<feature name="org.gnu.gdb.i386.linux">
|
||||
<reg name="orig_rax" bitsize="64" type="int" regnum="57"/>
|
||||
</feature>
|
||||
44
gdb/features/i386/64bit-sse.xml
Normal file
44
gdb/features/i386/64bit-sse.xml
Normal file
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved. -->
|
||||
|
||||
<!DOCTYPE feature SYSTEM "gdb-target.dtd">
|
||||
<feature name="org.gnu.gdb.i386.sse">
|
||||
<vector id="v4f" type="ieee_single" count="4"/>
|
||||
<vector id="v2d" type="ieee_double" count="2"/>
|
||||
<vector id="v16i8" type="int8" count="16"/>
|
||||
<vector id="v8i16" type="int16" count="8"/>
|
||||
<vector id="v4i32" type="int32" count="4"/>
|
||||
<vector id="v2i64" type="int64" count="2"/>
|
||||
<union id="vec128">
|
||||
<field name="v4_float" type="v4f"/>
|
||||
<field name="v2_double" type="v2d"/>
|
||||
<field name="v16_int8" type="v16i8"/>
|
||||
<field name="v8_int16" type="v8i16"/>
|
||||
<field name="v4_int32" type="v4i32"/>
|
||||
<field name="v2_int64" type="v2i64"/>
|
||||
<field name="uint128" type="uint128"/>
|
||||
</union>
|
||||
|
||||
<reg name="xmm0" bitsize="128" type="vec128" regnum="40"/>
|
||||
<reg name="xmm1" bitsize="128" type="vec128"/>
|
||||
<reg name="xmm2" bitsize="128" type="vec128"/>
|
||||
<reg name="xmm3" bitsize="128" type="vec128"/>
|
||||
<reg name="xmm4" bitsize="128" type="vec128"/>
|
||||
<reg name="xmm5" bitsize="128" type="vec128"/>
|
||||
<reg name="xmm6" bitsize="128" type="vec128"/>
|
||||
<reg name="xmm7" bitsize="128" type="vec128"/>
|
||||
<reg name="xmm8" bitsize="128" type="vec128"/>
|
||||
<reg name="xmm9" bitsize="128" type="vec128"/>
|
||||
<reg name="xmm10" bitsize="128" type="vec128"/>
|
||||
<reg name="xmm11" bitsize="128" type="vec128"/>
|
||||
<reg name="xmm12" bitsize="128" type="vec128"/>
|
||||
<reg name="xmm13" bitsize="128" type="vec128"/>
|
||||
<reg name="xmm14" bitsize="128" type="vec128"/>
|
||||
<reg name="xmm15" bitsize="128" type="vec128"/>
|
||||
|
||||
<reg name="mxcsr" bitsize="32" type="i386_mxcsr" group="vector"/>
|
||||
</feature>
|
||||
118
gdb/features/i386/amd64-linux.c
Normal file
118
gdb/features/i386/amd64-linux.c
Normal file
@@ -0,0 +1,118 @@
|
||||
/* THIS FILE IS GENERATED. Original: amd64-linux.xml */
|
||||
|
||||
#include "defs.h"
|
||||
#include "osabi.h"
|
||||
#include "target-descriptions.h"
|
||||
|
||||
struct target_desc *tdesc_amd64_linux;
|
||||
static void
|
||||
initialize_tdesc_amd64_linux (void)
|
||||
{
|
||||
struct target_desc *result = allocate_target_description ();
|
||||
struct tdesc_feature *feature;
|
||||
struct tdesc_type *field_type, *type;
|
||||
|
||||
set_tdesc_architecture (result, bfd_scan_arch ("i386:x86-64"));
|
||||
|
||||
set_tdesc_osabi (result, osabi_from_tdesc_string ("GNU/Linux"));
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core");
|
||||
tdesc_create_reg (feature, "rax", 0, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "rbx", 1, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "rcx", 2, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "rdx", 3, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "rsi", 4, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "rdi", 5, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "rbp", 6, 1, NULL, 64, "data_ptr");
|
||||
tdesc_create_reg (feature, "rsp", 7, 1, NULL, 64, "data_ptr");
|
||||
tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "rip", 16, 1, NULL, 64, "code_ptr");
|
||||
tdesc_create_reg (feature, "eflags", 17, 1, NULL, 32, "i386_eflags");
|
||||
tdesc_create_reg (feature, "cs", 18, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "ss", 19, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "ds", 20, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "es", 21, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "fs", 22, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "gs", 23, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "st0", 24, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st1", 25, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st2", 26, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st3", 27, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st4", 28, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st5", 29, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st6", 30, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st7", 31, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "fctrl", 32, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "fstat", 33, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "ftag", 34, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "fiseg", 35, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "fioff", 36, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "foseg", 37, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "fooff", 38, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "fop", 39, 1, "float", 32, "int");
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.sse");
|
||||
field_type = tdesc_named_type (feature, "ieee_single");
|
||||
tdesc_create_vector (feature, "v4f", field_type, 4);
|
||||
|
||||
field_type = tdesc_named_type (feature, "ieee_double");
|
||||
tdesc_create_vector (feature, "v2d", field_type, 2);
|
||||
|
||||
field_type = tdesc_named_type (feature, "int8");
|
||||
tdesc_create_vector (feature, "v16i8", field_type, 16);
|
||||
|
||||
field_type = tdesc_named_type (feature, "int16");
|
||||
tdesc_create_vector (feature, "v8i16", field_type, 8);
|
||||
|
||||
field_type = tdesc_named_type (feature, "int32");
|
||||
tdesc_create_vector (feature, "v4i32", field_type, 4);
|
||||
|
||||
field_type = tdesc_named_type (feature, "int64");
|
||||
tdesc_create_vector (feature, "v2i64", field_type, 2);
|
||||
|
||||
type = tdesc_create_union (feature, "vec128");
|
||||
field_type = tdesc_named_type (feature, "v4f");
|
||||
tdesc_add_field (type, "v4_float", field_type);
|
||||
field_type = tdesc_named_type (feature, "v2d");
|
||||
tdesc_add_field (type, "v2_double", field_type);
|
||||
field_type = tdesc_named_type (feature, "v16i8");
|
||||
tdesc_add_field (type, "v16_int8", field_type);
|
||||
field_type = tdesc_named_type (feature, "v8i16");
|
||||
tdesc_add_field (type, "v8_int16", field_type);
|
||||
field_type = tdesc_named_type (feature, "v4i32");
|
||||
tdesc_add_field (type, "v4_int32", field_type);
|
||||
field_type = tdesc_named_type (feature, "v2i64");
|
||||
tdesc_add_field (type, "v2_int64", field_type);
|
||||
field_type = tdesc_named_type (feature, "uint128");
|
||||
tdesc_add_field (type, "uint128", field_type);
|
||||
|
||||
tdesc_create_reg (feature, "xmm0", 40, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm1", 41, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm2", 42, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm3", 43, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm4", 44, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm5", 45, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm6", 46, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm7", 47, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm8", 48, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm9", 49, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm10", 50, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm11", 51, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm12", 52, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm13", 53, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm14", 54, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm15", 55, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "mxcsr", 56, 1, "vector", 32, "i386_mxcsr");
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.linux");
|
||||
tdesc_create_reg (feature, "orig_rax", 57, 1, NULL, 64, "int");
|
||||
|
||||
tdesc_amd64_linux = result;
|
||||
}
|
||||
17
gdb/features/i386/amd64-linux.xml
Normal file
17
gdb/features/i386/amd64-linux.xml
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved. -->
|
||||
|
||||
<!-- AMD64 - Includes Linux-only special "register". -->
|
||||
|
||||
<!DOCTYPE target SYSTEM "gdb-target.dtd">
|
||||
<target>
|
||||
<architecture>i386:x86-64</architecture>
|
||||
<osabi>GNU/Linux</osabi>
|
||||
<xi:include href="64bit-core.xml"/>
|
||||
<xi:include href="64bit-sse.xml"/>
|
||||
<xi:include href="64bit-linux.xml"/>
|
||||
</target>
|
||||
113
gdb/features/i386/amd64.c
Normal file
113
gdb/features/i386/amd64.c
Normal file
@@ -0,0 +1,113 @@
|
||||
/* THIS FILE IS GENERATED. Original: amd64.xml */
|
||||
|
||||
#include "defs.h"
|
||||
#include "osabi.h"
|
||||
#include "target-descriptions.h"
|
||||
|
||||
struct target_desc *tdesc_amd64;
|
||||
static void
|
||||
initialize_tdesc_amd64 (void)
|
||||
{
|
||||
struct target_desc *result = allocate_target_description ();
|
||||
struct tdesc_feature *feature;
|
||||
struct tdesc_type *field_type, *type;
|
||||
|
||||
set_tdesc_architecture (result, bfd_scan_arch ("i386:x86-64"));
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core");
|
||||
tdesc_create_reg (feature, "rax", 0, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "rbx", 1, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "rcx", 2, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "rdx", 3, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "rsi", 4, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "rdi", 5, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "rbp", 6, 1, NULL, 64, "data_ptr");
|
||||
tdesc_create_reg (feature, "rsp", 7, 1, NULL, 64, "data_ptr");
|
||||
tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "int64");
|
||||
tdesc_create_reg (feature, "rip", 16, 1, NULL, 64, "code_ptr");
|
||||
tdesc_create_reg (feature, "eflags", 17, 1, NULL, 32, "i386_eflags");
|
||||
tdesc_create_reg (feature, "cs", 18, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "ss", 19, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "ds", 20, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "es", 21, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "fs", 22, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "gs", 23, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "st0", 24, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st1", 25, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st2", 26, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st3", 27, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st4", 28, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st5", 29, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st6", 30, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st7", 31, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "fctrl", 32, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "fstat", 33, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "ftag", 34, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "fiseg", 35, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "fioff", 36, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "foseg", 37, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "fooff", 38, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "fop", 39, 1, "float", 32, "int");
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.sse");
|
||||
field_type = tdesc_named_type (feature, "ieee_single");
|
||||
tdesc_create_vector (feature, "v4f", field_type, 4);
|
||||
|
||||
field_type = tdesc_named_type (feature, "ieee_double");
|
||||
tdesc_create_vector (feature, "v2d", field_type, 2);
|
||||
|
||||
field_type = tdesc_named_type (feature, "int8");
|
||||
tdesc_create_vector (feature, "v16i8", field_type, 16);
|
||||
|
||||
field_type = tdesc_named_type (feature, "int16");
|
||||
tdesc_create_vector (feature, "v8i16", field_type, 8);
|
||||
|
||||
field_type = tdesc_named_type (feature, "int32");
|
||||
tdesc_create_vector (feature, "v4i32", field_type, 4);
|
||||
|
||||
field_type = tdesc_named_type (feature, "int64");
|
||||
tdesc_create_vector (feature, "v2i64", field_type, 2);
|
||||
|
||||
type = tdesc_create_union (feature, "vec128");
|
||||
field_type = tdesc_named_type (feature, "v4f");
|
||||
tdesc_add_field (type, "v4_float", field_type);
|
||||
field_type = tdesc_named_type (feature, "v2d");
|
||||
tdesc_add_field (type, "v2_double", field_type);
|
||||
field_type = tdesc_named_type (feature, "v16i8");
|
||||
tdesc_add_field (type, "v16_int8", field_type);
|
||||
field_type = tdesc_named_type (feature, "v8i16");
|
||||
tdesc_add_field (type, "v8_int16", field_type);
|
||||
field_type = tdesc_named_type (feature, "v4i32");
|
||||
tdesc_add_field (type, "v4_int32", field_type);
|
||||
field_type = tdesc_named_type (feature, "v2i64");
|
||||
tdesc_add_field (type, "v2_int64", field_type);
|
||||
field_type = tdesc_named_type (feature, "uint128");
|
||||
tdesc_add_field (type, "uint128", field_type);
|
||||
|
||||
tdesc_create_reg (feature, "xmm0", 40, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm1", 41, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm2", 42, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm3", 43, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm4", 44, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm5", 45, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm6", 46, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm7", 47, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm8", 48, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm9", 49, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm10", 50, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm11", 51, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm12", 52, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm13", 53, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm14", 54, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm15", 55, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "mxcsr", 56, 1, "vector", 32, "i386_mxcsr");
|
||||
|
||||
tdesc_amd64 = result;
|
||||
}
|
||||
15
gdb/features/i386/amd64.xml
Normal file
15
gdb/features/i386/amd64.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved. -->
|
||||
|
||||
<!-- AMD64 -->
|
||||
|
||||
<!DOCTYPE target SYSTEM "gdb-target.dtd">
|
||||
<target>
|
||||
<architecture>i386:x86-64</architecture>
|
||||
<xi:include href="64bit-core.xml"/>
|
||||
<xi:include href="64bit-sse.xml"/>
|
||||
</target>
|
||||
102
gdb/features/i386/i386-linux.c
Normal file
102
gdb/features/i386/i386-linux.c
Normal file
@@ -0,0 +1,102 @@
|
||||
/* THIS FILE IS GENERATED. Original: i386-linux.xml */
|
||||
|
||||
#include "defs.h"
|
||||
#include "osabi.h"
|
||||
#include "target-descriptions.h"
|
||||
|
||||
struct target_desc *tdesc_i386_linux;
|
||||
static void
|
||||
initialize_tdesc_i386_linux (void)
|
||||
{
|
||||
struct target_desc *result = allocate_target_description ();
|
||||
struct tdesc_feature *feature;
|
||||
struct tdesc_type *field_type, *type;
|
||||
|
||||
set_tdesc_architecture (result, bfd_scan_arch ("i386"));
|
||||
|
||||
set_tdesc_osabi (result, osabi_from_tdesc_string ("GNU/Linux"));
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core");
|
||||
tdesc_create_reg (feature, "eax", 0, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "ecx", 1, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "edx", 2, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "ebx", 3, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "esp", 4, 1, NULL, 32, "data_ptr");
|
||||
tdesc_create_reg (feature, "ebp", 5, 1, NULL, 32, "data_ptr");
|
||||
tdesc_create_reg (feature, "esi", 6, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "edi", 7, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "eip", 8, 1, NULL, 32, "code_ptr");
|
||||
tdesc_create_reg (feature, "eflags", 9, 1, NULL, 32, "i386_eflags");
|
||||
tdesc_create_reg (feature, "cs", 10, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "ss", 11, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "ds", 12, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "es", 13, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "fs", 14, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "gs", 15, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "st0", 16, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st1", 17, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st2", 18, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st3", 19, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st4", 20, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st5", 21, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st6", 22, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st7", 23, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "fctrl", 24, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "fstat", 25, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "ftag", 26, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "fiseg", 27, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "fioff", 28, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "foseg", 29, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "fooff", 30, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "fop", 31, 1, "float", 32, "int");
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.linux");
|
||||
tdesc_create_reg (feature, "orig_eax", 41, 1, NULL, 32, "int");
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.sse");
|
||||
field_type = tdesc_named_type (feature, "ieee_single");
|
||||
tdesc_create_vector (feature, "v4f", field_type, 4);
|
||||
|
||||
field_type = tdesc_named_type (feature, "ieee_double");
|
||||
tdesc_create_vector (feature, "v2d", field_type, 2);
|
||||
|
||||
field_type = tdesc_named_type (feature, "int8");
|
||||
tdesc_create_vector (feature, "v16i8", field_type, 16);
|
||||
|
||||
field_type = tdesc_named_type (feature, "int16");
|
||||
tdesc_create_vector (feature, "v8i16", field_type, 8);
|
||||
|
||||
field_type = tdesc_named_type (feature, "int32");
|
||||
tdesc_create_vector (feature, "v4i32", field_type, 4);
|
||||
|
||||
field_type = tdesc_named_type (feature, "int64");
|
||||
tdesc_create_vector (feature, "v2i64", field_type, 2);
|
||||
|
||||
type = tdesc_create_union (feature, "vec128");
|
||||
field_type = tdesc_named_type (feature, "v4f");
|
||||
tdesc_add_field (type, "v4_float", field_type);
|
||||
field_type = tdesc_named_type (feature, "v2d");
|
||||
tdesc_add_field (type, "v2_double", field_type);
|
||||
field_type = tdesc_named_type (feature, "v16i8");
|
||||
tdesc_add_field (type, "v16_int8", field_type);
|
||||
field_type = tdesc_named_type (feature, "v8i16");
|
||||
tdesc_add_field (type, "v8_int16", field_type);
|
||||
field_type = tdesc_named_type (feature, "v4i32");
|
||||
tdesc_add_field (type, "v4_int32", field_type);
|
||||
field_type = tdesc_named_type (feature, "v2i64");
|
||||
tdesc_add_field (type, "v2_int64", field_type);
|
||||
field_type = tdesc_named_type (feature, "uint128");
|
||||
tdesc_add_field (type, "uint128", field_type);
|
||||
|
||||
tdesc_create_reg (feature, "xmm0", 32, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm1", 33, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm2", 34, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm3", 35, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm4", 36, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm5", 37, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm6", 38, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm7", 39, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "mxcsr", 40, 1, "vector", 32, "i386_mxcsr");
|
||||
|
||||
tdesc_i386_linux = result;
|
||||
}
|
||||
17
gdb/features/i386/i386-linux.xml
Normal file
17
gdb/features/i386/i386-linux.xml
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved. -->
|
||||
|
||||
<!-- I386 with SSE - Includes Linux-only special "register". -->
|
||||
|
||||
<!DOCTYPE target SYSTEM "gdb-target.dtd">
|
||||
<target>
|
||||
<architecture>i386</architecture>
|
||||
<osabi>GNU/Linux</osabi>
|
||||
<xi:include href="32bit-core.xml"/>
|
||||
<xi:include href="32bit-linux.xml"/>
|
||||
<xi:include href="32bit-sse.xml"/>
|
||||
</target>
|
||||
97
gdb/features/i386/i386.c
Normal file
97
gdb/features/i386/i386.c
Normal file
@@ -0,0 +1,97 @@
|
||||
/* THIS FILE IS GENERATED. Original: i386.xml */
|
||||
|
||||
#include "defs.h"
|
||||
#include "osabi.h"
|
||||
#include "target-descriptions.h"
|
||||
|
||||
struct target_desc *tdesc_i386;
|
||||
static void
|
||||
initialize_tdesc_i386 (void)
|
||||
{
|
||||
struct target_desc *result = allocate_target_description ();
|
||||
struct tdesc_feature *feature;
|
||||
struct tdesc_type *field_type, *type;
|
||||
|
||||
set_tdesc_architecture (result, bfd_scan_arch ("i386"));
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core");
|
||||
tdesc_create_reg (feature, "eax", 0, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "ecx", 1, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "edx", 2, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "ebx", 3, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "esp", 4, 1, NULL, 32, "data_ptr");
|
||||
tdesc_create_reg (feature, "ebp", 5, 1, NULL, 32, "data_ptr");
|
||||
tdesc_create_reg (feature, "esi", 6, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "edi", 7, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "eip", 8, 1, NULL, 32, "code_ptr");
|
||||
tdesc_create_reg (feature, "eflags", 9, 1, NULL, 32, "i386_eflags");
|
||||
tdesc_create_reg (feature, "cs", 10, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "ss", 11, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "ds", 12, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "es", 13, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "fs", 14, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "gs", 15, 1, NULL, 32, "int32");
|
||||
tdesc_create_reg (feature, "st0", 16, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st1", 17, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st2", 18, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st3", 19, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st4", 20, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st5", 21, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st6", 22, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "st7", 23, 1, NULL, 80, "i387_ext");
|
||||
tdesc_create_reg (feature, "fctrl", 24, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "fstat", 25, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "ftag", 26, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "fiseg", 27, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "fioff", 28, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "foseg", 29, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "fooff", 30, 1, "float", 32, "int");
|
||||
tdesc_create_reg (feature, "fop", 31, 1, "float", 32, "int");
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.sse");
|
||||
field_type = tdesc_named_type (feature, "ieee_single");
|
||||
tdesc_create_vector (feature, "v4f", field_type, 4);
|
||||
|
||||
field_type = tdesc_named_type (feature, "ieee_double");
|
||||
tdesc_create_vector (feature, "v2d", field_type, 2);
|
||||
|
||||
field_type = tdesc_named_type (feature, "int8");
|
||||
tdesc_create_vector (feature, "v16i8", field_type, 16);
|
||||
|
||||
field_type = tdesc_named_type (feature, "int16");
|
||||
tdesc_create_vector (feature, "v8i16", field_type, 8);
|
||||
|
||||
field_type = tdesc_named_type (feature, "int32");
|
||||
tdesc_create_vector (feature, "v4i32", field_type, 4);
|
||||
|
||||
field_type = tdesc_named_type (feature, "int64");
|
||||
tdesc_create_vector (feature, "v2i64", field_type, 2);
|
||||
|
||||
type = tdesc_create_union (feature, "vec128");
|
||||
field_type = tdesc_named_type (feature, "v4f");
|
||||
tdesc_add_field (type, "v4_float", field_type);
|
||||
field_type = tdesc_named_type (feature, "v2d");
|
||||
tdesc_add_field (type, "v2_double", field_type);
|
||||
field_type = tdesc_named_type (feature, "v16i8");
|
||||
tdesc_add_field (type, "v16_int8", field_type);
|
||||
field_type = tdesc_named_type (feature, "v8i16");
|
||||
tdesc_add_field (type, "v8_int16", field_type);
|
||||
field_type = tdesc_named_type (feature, "v4i32");
|
||||
tdesc_add_field (type, "v4_int32", field_type);
|
||||
field_type = tdesc_named_type (feature, "v2i64");
|
||||
tdesc_add_field (type, "v2_int64", field_type);
|
||||
field_type = tdesc_named_type (feature, "uint128");
|
||||
tdesc_add_field (type, "uint128", field_type);
|
||||
|
||||
tdesc_create_reg (feature, "xmm0", 32, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm1", 33, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm2", 34, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm3", 35, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm4", 36, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm5", 37, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm6", 38, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "xmm7", 39, 1, NULL, 128, "vec128");
|
||||
tdesc_create_reg (feature, "mxcsr", 40, 1, "vector", 32, "i386_mxcsr");
|
||||
|
||||
tdesc_i386 = result;
|
||||
}
|
||||
15
gdb/features/i386/i386.xml
Normal file
15
gdb/features/i386/i386.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved. -->
|
||||
|
||||
<!-- I386 with SSE -->
|
||||
|
||||
<!DOCTYPE target SYSTEM "gdb-target.dtd">
|
||||
<target>
|
||||
<architecture>i386</architecture>
|
||||
<xi:include href="32bit-core.xml"/>
|
||||
<xi:include href="32bit-sse.xml"/>
|
||||
</target>
|
||||
Reference in New Issue
Block a user