This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFA 2/2] [x86/x86_64] Segment registers are 16 bits long (not 32bits)


This patch changes the description of all segment registers for
x86 and x86_64 targets to 16 bits. On GNU/Linux systems, this
discrepancy appears to be harmless. But, on some Windows systems,
the wider size lead us to read the value of those registers as
4-byte values instead of 2 bytes values, resulting in incorrect
results.

gdb/changeLog:

	* features/i386/32bit-core.xml, features/i386/64bit-core.xml,
	features/i386/x32-core.xml: Set bitsize and type of all
	segment registers to 16 and "int16" respectively.
	* features/i386/amd64-avx-linux.c, features/i386/amd64-avx.c,
	features/i386/amd64-linux.c, features/i386/amd64.c,
	features/i386/i386-avx-linux.c, features/i386/i386-avx.c,
	features/i386/i386-linux.c, features/i386/i386-mmx-linux.c,
	features/i386/i386-mmx.c, features/i386/i386.c,
	features/i386/x32-avx-linux.c, features/i386/x32-avx.c,
	features/i386/x32-linux.c, features/i386/x32.c: Regenerate.
	* regformats/i386/amd64-avx-linux.dat, regformats/i386/amd64-avx.dat,
	regformats/i386/amd64-linux.dat, regformats/i386/amd64.dat,
	regformats/i386/i386-avx-linux.dat, regformats/i386/i386-avx.dat,
	regformats/i386/i386-linux.dat, regformats/i386/i386-mmx-linux.dat,
	regformats/i386/i386-mmx.dat, regformats/i386/i386.dat,
	regformats/i386/x32-avx-linux.dat, regformats/i386/x32-avx.dat,
	regformats/i386/x32-linux.dat, regformats/i386/x32.dat: Regenerate.

OK to commit?

Thanks,
-- 
Joel

---
 gdb/features/i386/32bit-core.xml        |   12 ++++++------
 gdb/features/i386/64bit-core.xml        |   12 ++++++------
 gdb/features/i386/amd64-avx-linux.c     |   12 ++++++------
 gdb/features/i386/amd64-avx.c           |   12 ++++++------
 gdb/features/i386/amd64-linux.c         |   12 ++++++------
 gdb/features/i386/amd64.c               |   12 ++++++------
 gdb/features/i386/i386-avx-linux.c      |   12 ++++++------
 gdb/features/i386/i386-avx.c            |   12 ++++++------
 gdb/features/i386/i386-linux.c          |   12 ++++++------
 gdb/features/i386/i386-mmx-linux.c      |   12 ++++++------
 gdb/features/i386/i386-mmx.c            |   12 ++++++------
 gdb/features/i386/i386.c                |   12 ++++++------
 gdb/features/i386/x32-avx-linux.c       |   12 ++++++------
 gdb/features/i386/x32-avx.c             |   12 ++++++------
 gdb/features/i386/x32-core.xml          |   12 ++++++------
 gdb/features/i386/x32-linux.c           |   12 ++++++------
 gdb/features/i386/x32.c                 |   12 ++++++------
 gdb/regformats/i386/amd64-avx-linux.dat |   12 ++++++------
 gdb/regformats/i386/amd64-avx.dat       |   12 ++++++------
 gdb/regformats/i386/amd64-linux.dat     |   12 ++++++------
 gdb/regformats/i386/amd64.dat           |   12 ++++++------
 gdb/regformats/i386/i386-avx-linux.dat  |   12 ++++++------
 gdb/regformats/i386/i386-avx.dat        |   12 ++++++------
 gdb/regformats/i386/i386-linux.dat      |   12 ++++++------
 gdb/regformats/i386/i386-mmx-linux.dat  |   12 ++++++------
 gdb/regformats/i386/i386-mmx.dat        |   12 ++++++------
 gdb/regformats/i386/i386.dat            |   12 ++++++------
 gdb/regformats/i386/x32-avx-linux.dat   |   12 ++++++------
 gdb/regformats/i386/x32-avx.dat         |   12 ++++++------
 gdb/regformats/i386/x32-linux.dat       |   12 ++++++------
 gdb/regformats/i386/x32.dat             |   12 ++++++------
 31 files changed, 186 insertions(+), 186 deletions(-)

diff --git a/gdb/features/i386/32bit-core.xml b/gdb/features/i386/32bit-core.xml
index e7742ef..5912504 100644
--- a/gdb/features/i386/32bit-core.xml
+++ b/gdb/features/i386/32bit-core.xml
@@ -38,12 +38,12 @@
 
   <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="cs" bitsize="16" type="int16"/>
+  <reg name="ss" bitsize="16" type="int16"/>
+  <reg name="ds" bitsize="16" type="int16"/>
+  <reg name="es" bitsize="16" type="int16"/>
+  <reg name="fs" bitsize="16" type="int16"/>
+  <reg name="gs" bitsize="16" type="int16"/>
 
   <reg name="st0" bitsize="80" type="i387_ext"/>
   <reg name="st1" bitsize="80" type="i387_ext"/>
diff --git a/gdb/features/i386/64bit-core.xml b/gdb/features/i386/64bit-core.xml
index 6dd6cdb..1380ec1 100644
--- a/gdb/features/i386/64bit-core.xml
+++ b/gdb/features/i386/64bit-core.xml
@@ -46,12 +46,12 @@
 
   <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="cs" bitsize="16" type="int16"/>
+  <reg name="ss" bitsize="16" type="int16"/>
+  <reg name="ds" bitsize="16" type="int16"/>
+  <reg name="es" bitsize="16" type="int16"/>
+  <reg name="fs" bitsize="16" type="int16"/>
+  <reg name="gs" bitsize="16" type="int16"/>
 
   <reg name="st0" bitsize="80" type="i387_ext"/>
   <reg name="st1" bitsize="80" type="i387_ext"/>
diff --git a/gdb/features/i386/amd64-avx-linux.c b/gdb/features/i386/amd64-avx-linux.c
index 81e8ca7..b799e49 100644
--- a/gdb/features/i386/amd64-avx-linux.c
+++ b/gdb/features/i386/amd64-avx-linux.c
@@ -55,12 +55,12 @@ initialize_tdesc_amd64_avx_linux (void)
   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, "cs", 18, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ss", 19, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ds", 20, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "es", 21, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "fs", 22, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "gs", 23, 1, NULL, 16, "int16");
   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");
diff --git a/gdb/features/i386/amd64-avx.c b/gdb/features/i386/amd64-avx.c
index d69d427..96b2ec3 100644
--- a/gdb/features/i386/amd64-avx.c
+++ b/gdb/features/i386/amd64-avx.c
@@ -53,12 +53,12 @@ initialize_tdesc_amd64_avx (void)
   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, "cs", 18, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ss", 19, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ds", 20, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "es", 21, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "fs", 22, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "gs", 23, 1, NULL, 16, "int16");
   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");
diff --git a/gdb/features/i386/amd64-linux.c b/gdb/features/i386/amd64-linux.c
index db97118..bf9bb49 100644
--- a/gdb/features/i386/amd64-linux.c
+++ b/gdb/features/i386/amd64-linux.c
@@ -55,12 +55,12 @@ initialize_tdesc_amd64_linux (void)
   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, "cs", 18, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ss", 19, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ds", 20, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "es", 21, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "fs", 22, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "gs", 23, 1, NULL, 16, "int16");
   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");
diff --git a/gdb/features/i386/amd64.c b/gdb/features/i386/amd64.c
index 951b36d..4aa2b12 100644
--- a/gdb/features/i386/amd64.c
+++ b/gdb/features/i386/amd64.c
@@ -53,12 +53,12 @@ initialize_tdesc_amd64 (void)
   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, "cs", 18, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ss", 19, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ds", 20, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "es", 21, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "fs", 22, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "gs", 23, 1, NULL, 16, "int16");
   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");
diff --git a/gdb/features/i386/i386-avx-linux.c b/gdb/features/i386/i386-avx-linux.c
index 038073e..cae4f0b 100644
--- a/gdb/features/i386/i386-avx-linux.c
+++ b/gdb/features/i386/i386-avx-linux.c
@@ -47,12 +47,12 @@ initialize_tdesc_i386_avx_linux (void)
   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, "cs", 10, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ss", 11, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ds", 12, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "es", 13, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "fs", 14, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "gs", 15, 1, NULL, 16, "int16");
   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");
diff --git a/gdb/features/i386/i386-avx.c b/gdb/features/i386/i386-avx.c
index cdfebf8..bb3ba86 100644
--- a/gdb/features/i386/i386-avx.c
+++ b/gdb/features/i386/i386-avx.c
@@ -45,12 +45,12 @@ initialize_tdesc_i386_avx (void)
   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, "cs", 10, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ss", 11, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ds", 12, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "es", 13, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "fs", 14, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "gs", 15, 1, NULL, 16, "int16");
   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");
diff --git a/gdb/features/i386/i386-linux.c b/gdb/features/i386/i386-linux.c
index cdc41a8..c6a47ad 100644
--- a/gdb/features/i386/i386-linux.c
+++ b/gdb/features/i386/i386-linux.c
@@ -47,12 +47,12 @@ initialize_tdesc_i386_linux (void)
   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, "cs", 10, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ss", 11, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ds", 12, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "es", 13, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "fs", 14, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "gs", 15, 1, NULL, 16, "int16");
   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");
diff --git a/gdb/features/i386/i386-mmx-linux.c b/gdb/features/i386/i386-mmx-linux.c
index 872826a..dc3bdc3 100644
--- a/gdb/features/i386/i386-mmx-linux.c
+++ b/gdb/features/i386/i386-mmx-linux.c
@@ -46,12 +46,12 @@ initialize_tdesc_i386_mmx_linux (void)
   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, "cs", 10, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ss", 11, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ds", 12, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "es", 13, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "fs", 14, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "gs", 15, 1, NULL, 16, "int16");
   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");
diff --git a/gdb/features/i386/i386-mmx.c b/gdb/features/i386/i386-mmx.c
index 7ca2467..7710f7b 100644
--- a/gdb/features/i386/i386-mmx.c
+++ b/gdb/features/i386/i386-mmx.c
@@ -44,12 +44,12 @@ initialize_tdesc_i386_mmx (void)
   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, "cs", 10, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ss", 11, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ds", 12, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "es", 13, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "fs", 14, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "gs", 15, 1, NULL, 16, "int16");
   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");
diff --git a/gdb/features/i386/i386.c b/gdb/features/i386/i386.c
index b1de96f..0befb45 100644
--- a/gdb/features/i386/i386.c
+++ b/gdb/features/i386/i386.c
@@ -45,12 +45,12 @@ initialize_tdesc_i386 (void)
   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, "cs", 10, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ss", 11, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ds", 12, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "es", 13, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "fs", 14, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "gs", 15, 1, NULL, 16, "int16");
   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");
diff --git a/gdb/features/i386/x32-avx-linux.c b/gdb/features/i386/x32-avx-linux.c
index b01013a..5a6edf1 100644
--- a/gdb/features/i386/x32-avx-linux.c
+++ b/gdb/features/i386/x32-avx-linux.c
@@ -55,12 +55,12 @@ initialize_tdesc_x32_avx_linux (void)
   tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "int64");
   tdesc_create_reg (feature, "rip", 16, 1, NULL, 64, "uint64");
   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, "cs", 18, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ss", 19, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ds", 20, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "es", 21, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "fs", 22, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "gs", 23, 1, NULL, 16, "int16");
   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");
diff --git a/gdb/features/i386/x32-avx.c b/gdb/features/i386/x32-avx.c
index af235cd..a3d01e1 100644
--- a/gdb/features/i386/x32-avx.c
+++ b/gdb/features/i386/x32-avx.c
@@ -53,12 +53,12 @@ initialize_tdesc_x32_avx (void)
   tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "int64");
   tdesc_create_reg (feature, "rip", 16, 1, NULL, 64, "uint64");
   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, "cs", 18, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ss", 19, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ds", 20, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "es", 21, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "fs", 22, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "gs", 23, 1, NULL, 16, "int16");
   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");
diff --git a/gdb/features/i386/x32-core.xml b/gdb/features/i386/x32-core.xml
index 1e41417..bb64fd6 100644
--- a/gdb/features/i386/x32-core.xml
+++ b/gdb/features/i386/x32-core.xml
@@ -46,12 +46,12 @@
 
   <reg name="rip" bitsize="64" type="uint64"/>
   <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="cs" bitsize="16" type="int16"/>
+  <reg name="ss" bitsize="16" type="int16"/>
+  <reg name="ds" bitsize="16" type="int16"/>
+  <reg name="es" bitsize="16" type="int16"/>
+  <reg name="fs" bitsize="16" type="int16"/>
+  <reg name="gs" bitsize="16" type="int16"/>
 
   <reg name="st0" bitsize="80" type="i387_ext"/>
   <reg name="st1" bitsize="80" type="i387_ext"/>
diff --git a/gdb/features/i386/x32-linux.c b/gdb/features/i386/x32-linux.c
index d34a2a9..e74b41c 100644
--- a/gdb/features/i386/x32-linux.c
+++ b/gdb/features/i386/x32-linux.c
@@ -55,12 +55,12 @@ initialize_tdesc_x32_linux (void)
   tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "int64");
   tdesc_create_reg (feature, "rip", 16, 1, NULL, 64, "uint64");
   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, "cs", 18, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ss", 19, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ds", 20, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "es", 21, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "fs", 22, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "gs", 23, 1, NULL, 16, "int16");
   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");
diff --git a/gdb/features/i386/x32.c b/gdb/features/i386/x32.c
index 755ec69..8e5cbd8 100644
--- a/gdb/features/i386/x32.c
+++ b/gdb/features/i386/x32.c
@@ -53,12 +53,12 @@ initialize_tdesc_x32 (void)
   tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "int64");
   tdesc_create_reg (feature, "rip", 16, 1, NULL, 64, "uint64");
   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, "cs", 18, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ss", 19, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "ds", 20, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "es", 21, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "fs", 22, 1, NULL, 16, "int16");
+  tdesc_create_reg (feature, "gs", 23, 1, NULL, 16, "int16");
   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");
diff --git a/gdb/regformats/i386/amd64-avx-linux.dat b/gdb/regformats/i386/amd64-avx-linux.dat
index 4491313..ded0117 100644
--- a/gdb/regformats/i386/amd64-avx-linux.dat
+++ b/gdb/regformats/i386/amd64-avx-linux.dat
@@ -20,12 +20,12 @@ expedite:rbp,rsp,rip
 64:r15
 64:rip
 32:eflags
-32:cs
-32:ss
-32:ds
-32:es
-32:fs
-32:gs
+16:cs
+16:ss
+16:ds
+16:es
+16:fs
+16:gs
 80:st0
 80:st1
 80:st2
diff --git a/gdb/regformats/i386/amd64-avx.dat b/gdb/regformats/i386/amd64-avx.dat
index 62cfdd7..713d691 100644
--- a/gdb/regformats/i386/amd64-avx.dat
+++ b/gdb/regformats/i386/amd64-avx.dat
@@ -20,12 +20,12 @@ expedite:rbp,rsp,rip
 64:r15
 64:rip
 32:eflags
-32:cs
-32:ss
-32:ds
-32:es
-32:fs
-32:gs
+16:cs
+16:ss
+16:ds
+16:es
+16:fs
+16:gs
 80:st0
 80:st1
 80:st2
diff --git a/gdb/regformats/i386/amd64-linux.dat b/gdb/regformats/i386/amd64-linux.dat
index 02a2c78..fed8185 100644
--- a/gdb/regformats/i386/amd64-linux.dat
+++ b/gdb/regformats/i386/amd64-linux.dat
@@ -20,12 +20,12 @@ expedite:rbp,rsp,rip
 64:r15
 64:rip
 32:eflags
-32:cs
-32:ss
-32:ds
-32:es
-32:fs
-32:gs
+16:cs
+16:ss
+16:ds
+16:es
+16:fs
+16:gs
 80:st0
 80:st1
 80:st2
diff --git a/gdb/regformats/i386/amd64.dat b/gdb/regformats/i386/amd64.dat
index d589218..90f6005 100644
--- a/gdb/regformats/i386/amd64.dat
+++ b/gdb/regformats/i386/amd64.dat
@@ -20,12 +20,12 @@ expedite:rbp,rsp,rip
 64:r15
 64:rip
 32:eflags
-32:cs
-32:ss
-32:ds
-32:es
-32:fs
-32:gs
+16:cs
+16:ss
+16:ds
+16:es
+16:fs
+16:gs
 80:st0
 80:st1
 80:st2
diff --git a/gdb/regformats/i386/i386-avx-linux.dat b/gdb/regformats/i386/i386-avx-linux.dat
index e9eb951..a943ead 100644
--- a/gdb/regformats/i386/i386-avx-linux.dat
+++ b/gdb/regformats/i386/i386-avx-linux.dat
@@ -12,12 +12,12 @@ expedite:ebp,esp,eip
 32:edi
 32:eip
 32:eflags
-32:cs
-32:ss
-32:ds
-32:es
-32:fs
-32:gs
+16:cs
+16:ss
+16:ds
+16:es
+16:fs
+16:gs
 80:st0
 80:st1
 80:st2
diff --git a/gdb/regformats/i386/i386-avx.dat b/gdb/regformats/i386/i386-avx.dat
index 4a19a2b..aec41c5 100644
--- a/gdb/regformats/i386/i386-avx.dat
+++ b/gdb/regformats/i386/i386-avx.dat
@@ -12,12 +12,12 @@ expedite:ebp,esp,eip
 32:edi
 32:eip
 32:eflags
-32:cs
-32:ss
-32:ds
-32:es
-32:fs
-32:gs
+16:cs
+16:ss
+16:ds
+16:es
+16:fs
+16:gs
 80:st0
 80:st1
 80:st2
diff --git a/gdb/regformats/i386/i386-linux.dat b/gdb/regformats/i386/i386-linux.dat
index 6fef8d9..621870c 100644
--- a/gdb/regformats/i386/i386-linux.dat
+++ b/gdb/regformats/i386/i386-linux.dat
@@ -12,12 +12,12 @@ expedite:ebp,esp,eip
 32:edi
 32:eip
 32:eflags
-32:cs
-32:ss
-32:ds
-32:es
-32:fs
-32:gs
+16:cs
+16:ss
+16:ds
+16:es
+16:fs
+16:gs
 80:st0
 80:st1
 80:st2
diff --git a/gdb/regformats/i386/i386-mmx-linux.dat b/gdb/regformats/i386/i386-mmx-linux.dat
index 9dcf223..6de7dca 100644
--- a/gdb/regformats/i386/i386-mmx-linux.dat
+++ b/gdb/regformats/i386/i386-mmx-linux.dat
@@ -12,12 +12,12 @@ expedite:ebp,esp,eip
 32:edi
 32:eip
 32:eflags
-32:cs
-32:ss
-32:ds
-32:es
-32:fs
-32:gs
+16:cs
+16:ss
+16:ds
+16:es
+16:fs
+16:gs
 80:st0
 80:st1
 80:st2
diff --git a/gdb/regformats/i386/i386-mmx.dat b/gdb/regformats/i386/i386-mmx.dat
index 38a95d4..393e71a 100644
--- a/gdb/regformats/i386/i386-mmx.dat
+++ b/gdb/regformats/i386/i386-mmx.dat
@@ -12,12 +12,12 @@ expedite:ebp,esp,eip
 32:edi
 32:eip
 32:eflags
-32:cs
-32:ss
-32:ds
-32:es
-32:fs
-32:gs
+16:cs
+16:ss
+16:ds
+16:es
+16:fs
+16:gs
 80:st0
 80:st1
 80:st2
diff --git a/gdb/regformats/i386/i386.dat b/gdb/regformats/i386/i386.dat
index 923d879..5b2ae8a 100644
--- a/gdb/regformats/i386/i386.dat
+++ b/gdb/regformats/i386/i386.dat
@@ -12,12 +12,12 @@ expedite:ebp,esp,eip
 32:edi
 32:eip
 32:eflags
-32:cs
-32:ss
-32:ds
-32:es
-32:fs
-32:gs
+16:cs
+16:ss
+16:ds
+16:es
+16:fs
+16:gs
 80:st0
 80:st1
 80:st2
diff --git a/gdb/regformats/i386/x32-avx-linux.dat b/gdb/regformats/i386/x32-avx-linux.dat
index 1203806..8dc1122 100644
--- a/gdb/regformats/i386/x32-avx-linux.dat
+++ b/gdb/regformats/i386/x32-avx-linux.dat
@@ -20,12 +20,12 @@ expedite:rbp,rsp,rip
 64:r15
 64:rip
 32:eflags
-32:cs
-32:ss
-32:ds
-32:es
-32:fs
-32:gs
+16:cs
+16:ss
+16:ds
+16:es
+16:fs
+16:gs
 80:st0
 80:st1
 80:st2
diff --git a/gdb/regformats/i386/x32-avx.dat b/gdb/regformats/i386/x32-avx.dat
index f13bf28..fd8c8b3 100644
--- a/gdb/regformats/i386/x32-avx.dat
+++ b/gdb/regformats/i386/x32-avx.dat
@@ -20,12 +20,12 @@ expedite:rbp,rsp,rip
 64:r15
 64:rip
 32:eflags
-32:cs
-32:ss
-32:ds
-32:es
-32:fs
-32:gs
+16:cs
+16:ss
+16:ds
+16:es
+16:fs
+16:gs
 80:st0
 80:st1
 80:st2
diff --git a/gdb/regformats/i386/x32-linux.dat b/gdb/regformats/i386/x32-linux.dat
index 6eda64a..85c34c7 100644
--- a/gdb/regformats/i386/x32-linux.dat
+++ b/gdb/regformats/i386/x32-linux.dat
@@ -20,12 +20,12 @@ expedite:rbp,rsp,rip
 64:r15
 64:rip
 32:eflags
-32:cs
-32:ss
-32:ds
-32:es
-32:fs
-32:gs
+16:cs
+16:ss
+16:ds
+16:es
+16:fs
+16:gs
 80:st0
 80:st1
 80:st2
diff --git a/gdb/regformats/i386/x32.dat b/gdb/regformats/i386/x32.dat
index 6c63a8a..7ae7ac1 100644
--- a/gdb/regformats/i386/x32.dat
+++ b/gdb/regformats/i386/x32.dat
@@ -20,12 +20,12 @@ expedite:rbp,rsp,rip
 64:r15
 64:rip
 32:eflags
-32:cs
-32:ss
-32:ds
-32:es
-32:fs
-32:gs
+16:cs
+16:ss
+16:ds
+16:es
+16:fs
+16:gs
 80:st0
 80:st1
 80:st2
-- 
1.7.1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]