Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Joel Brobecker <brobecker@adacore.com>
To: gdb-patches@sourceware.org
Cc: Joel Brobecker <brobecker@adacore.com>
Subject: [RFA 2/2] [x86/x86_64] Segment registers are 16 bits long (not 32bits)
Date: Tue, 01 May 2012 23:05:00 -0000	[thread overview]
Message-ID: <1335913461-1628-3-git-send-email-brobecker@adacore.com> (raw)
In-Reply-To: <1335913461-1628-1-git-send-email-brobecker@adacore.com>

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


  parent reply	other threads:[~2012-05-01 23:05 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-01 23:04 Invalid segment resister value on x86_64-windows Joel Brobecker
2012-05-01 23:04 ` [RFA/commit 1/2] Regenerate the features/i386 target description .c files Joel Brobecker
2012-05-02  6:34   ` Sergio Durigan Junior
2012-05-01 23:05 ` Joel Brobecker [this message]
2012-05-02  0:01 ` [RFA 3/2(+)] Test size of x86/x86_64 segment registers Joel Brobecker
2012-05-02 10:10 ` Invalid segment resister value on x86_64-windows Mark Kettenis
2012-05-02 17:57   ` Joel Brobecker
2012-05-02 20:45     ` Mark Kettenis
2012-05-02 21:26       ` Joel Brobecker
2012-05-02 21:27         ` Joel Brobecker
2012-05-02 21:50           ` Mark Kettenis
2012-05-02 21:58           ` [WINDOWS/RFC] " Joel Brobecker
2012-05-02 22:10             ` Christopher Faylor
2012-05-02 22:16               ` Christopher Faylor
2012-05-04 18:38               ` checked in: " Joel Brobecker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1335913461-1628-3-git-send-email-brobecker@adacore.com \
    --to=brobecker@adacore.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox