aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@vmware.com>2009-10-12 15:52:28 +0000
committerMichael Snyder <msnyder@vmware.com>2009-10-12 15:52:28 +0000
commit3800e6453931c8cae5e5f0626214a5194b0689ff (patch)
tree3992863ecc8dc523c8fe493f676274e1d84d580c /gdb
parent1c7814eddb5055274e4fba5a2910a18ab1175ef4 (diff)
downloadgdb-3800e6453931c8cae5e5f0626214a5194b0689ff.zip
gdb-3800e6453931c8cae5e5f0626214a5194b0689ff.tar.gz
gdb-3800e6453931c8cae5e5f0626214a5194b0689ff.tar.bz2
2009-10-12 Jiang Jilin <freephp@gmail.com>
* i386-tdep.c (i386_process_record): Add xgetbv/xsetbv instructions support.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/i386-tdep.c13
2 files changed, 18 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 7e3f17b..dab0eca 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2009-10-12 Jiang Jilin <freephp@gmail.com>
+
+ * i386-tdep.c (i386_process_record): Add xgetbv/xsetbv
+ instructions support.
+
2009-10-11 Pedro Alves <pedro@codesourcery.com>
* procfs.c (procfs_make_note_section): Go back to only outputing
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index b4dc646..b354462 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -5172,6 +5172,19 @@ reswitch:
break;
/* lgdt */
case 2:
+ if (ir.mod == 3)
+ {
+ /* xgetbv */
+ if (ir.rm == 0)
+ {
+ I386_RECORD_ARCH_LIST_ADD_REG (X86_RECORD_REAX_REGNUM);
+ I386_RECORD_ARCH_LIST_ADD_REG (X86_RECORD_REDX_REGNUM);
+ break;
+ }
+ /* xsetbv */
+ else if (ir.rm == 1)
+ break;
+ }
/* lidt */
case 3:
if (ir.mod == 3)