Retrieve segment registers on Windows amd64
authorJon TURNEY <jon.turney@dronecode.org.uk>
Wed, 18 Feb 2015 23:13:47 +0000 (23:13 +0000)
committerJoel Brobecker <brobecker@adacore.com>
Fri, 27 Feb 2015 08:46:05 +0000 (09:46 +0100)
commitf0666312fd86272e0234d5f7c92d8f65d5c6505e
tree4d6e99cbdf51bff608fd402ca60cb74e55f1bc5c
parent73920eed1d5331150d6a0e3207aa653e10f0a1ac
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.
gdb/ChangeLog
gdb/windows-nat.c