diff options
author | Greg Clayton <gclayton@apple.com> | 2011-01-18 19:36:39 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2011-01-18 19:36:39 +0000 |
commit | c4e411ffc09a77abe9957f83827fc1745d7e0408 (patch) | |
tree | 78a1107cecd93fdb0cda97b735d5ff23751f2c4a /lldb/tools/debugserver/source/MacOSX/MachThread.h | |
parent | 4dc73fa075db86bc6a07d755d972e9f8ad7336cc (diff) | |
download | bcm5719-llvm-c4e411ffc09a77abe9957f83827fc1745d7e0408.tar.gz bcm5719-llvm-c4e411ffc09a77abe9957f83827fc1745d7e0408.zip |
Thread safety changes in debugserver and also in the process GDB remote plugin.
I added support for asking if the GDB remote server supports thread suffixes
for packets that should be thread specific (register read/write packets) because
the way the GDB remote protocol does it right now is to have a notion of a
current thread for register and memory reads/writes (set via the "$Hg%x" packet)
and a current thread for running ("$Hc%x"). Now we ask the remote GDB server
if it supports adding the thread ID to the register packets and we enable
that feature in LLDB if supported. This stops us from having to send a bunch
of packets that update the current thread ID to some value which is prone to
error, or extra packets.
llvm-svn: 123762
Diffstat (limited to 'lldb/tools/debugserver/source/MacOSX/MachThread.h')
-rw-r--r-- | lldb/tools/debugserver/source/MacOSX/MachThread.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lldb/tools/debugserver/source/MacOSX/MachThread.h b/lldb/tools/debugserver/source/MacOSX/MachThread.h index 0b2a8bf1ff9..e7e18fe262c 100644 --- a/lldb/tools/debugserver/source/MacOSX/MachThread.h +++ b/lldb/tools/debugserver/source/MacOSX/MachThread.h @@ -60,8 +60,7 @@ public: bool SetPC(uint64_t value); // Set program counter uint64_t GetSP(uint64_t failValue = INVALID_NUB_ADDRESS); // Get stack pointer - nub_break_t CurrentBreakpoint() const { return m_breakID; } - void SetCurrentBreakpoint(nub_break_t breakID) { m_breakID = breakID; } + nub_break_t CurrentBreakpoint(); uint32_t EnableHardwareBreakpoint (const DNBBreakpoint *breakpoint); uint32_t EnableHardwareWatchpoint (const DNBBreakpoint *watchpoint); bool DisableHardwareBreakpoint (const DNBBreakpoint *breakpoint); @@ -88,7 +87,9 @@ public: bool SetRegisterValue ( uint32_t reg_set_idx, uint32_t reg_idx, const DNBRegisterValue *reg_value ); nub_size_t GetRegisterContext (void *buf, nub_size_t buf_len); nub_size_t SetRegisterContext (const void *buf, nub_size_t buf_len); - void NotifyBreakpointChanged (const DNBBreakpoint *bp); + void NotifyBreakpointChanged (const DNBBreakpoint *bp) + { + } bool IsUserReady(); struct thread_basic_info * |