diff options
author | Jon TURNEY <jon.turney@dronecode.org.uk> | 2015-02-18 23:13:47 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@adacore.com> | 2015-02-27 09:46:05 +0100 |
commit | f0666312fd86272e0234d5f7c92d8f65d5c6505e (patch) | |
tree | 4d6e99cbdf51bff608fd402ca60cb74e55f1bc5c /gdb/windows-nat.c | |
parent | 73920eed1d5331150d6a0e3207aa653e10f0a1ac (diff) | |
download | gdb-f0666312fd86272e0234d5f7c92d8f65d5c6505e.zip gdb-f0666312fd86272e0234d5f7c92d8f65d5c6505e.tar.gz gdb-f0666312fd86272e0234d5f7c92d8f65d5c6505e.tar.bz2 |
Retrieve segment registers on Windows amd64
For amd64, CONTEXT_FULL does not contain CONTEXT_SEGMENTS, which seems
to be needed to retrieve all the segment registers. Add it explicitly,
with a little de-cruftification.
The value of the segment registers isn't terribly useful on amd64, but
at least this makes the output of 'info registers' correct.
Before:
(gdb) i r cs ss ds es fs gs
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
After:
(gdb) i r cs ss ds es fs gs
cs 0x33 51
ss 0x2b 43
ds 0x2b 43
es 0x2b 43
fs 0x53 83
gs 0x2b 43
gdb/ChangeLog
2015-02-27 Jon TURNEY <jon.turney@dronecode.org.uk>
* windows-nat.c (CONTEXT_DEBUGGER): Remove.
(CONTEXT_DEBUGGER_DR): Add CONTEXT_SEGMENTS. Incorporate flags
from CONTEXT_DEBUGGER.
Diffstat (limited to 'gdb/windows-nat.c')
-rw-r--r-- | gdb/windows-nat.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c index 9c2dca1..107bdf2 100644 --- a/gdb/windows-nat.c +++ b/gdb/windows-nat.c @@ -130,7 +130,6 @@ static CONTEXT saved_context; /* Containes the saved context from a enum { FLAG_TRACE_BIT = 0x100, - CONTEXT_DEBUGGER = (CONTEXT_FULL | CONTEXT_FLOATING_POINT) }; #endif @@ -140,8 +139,9 @@ enum #define CONTEXT_EXTENDED_REGISTERS 0 #endif -#define CONTEXT_DEBUGGER_DR CONTEXT_DEBUGGER | CONTEXT_DEBUG_REGISTERS \ - | CONTEXT_EXTENDED_REGISTERS +#define CONTEXT_DEBUGGER_DR CONTEXT_FULL | CONTEXT_FLOATING_POINT \ + | CONTEXT_SEGMENTS | CONTEXT_DEBUG_REGISTERS \ + | CONTEXT_EXTENDED_REGISTERS static uintptr_t dr[8]; static int debug_registers_changed; |