4e49a5bfccc0a51185eadf69b3e23f68e70f1676 |
|
12-Jul-2013 |
Jim Ingham <jingham@apple.com> |
Get debugserver to call task_set_state to prime the control registers so that watchpoints take for threads created while the program is running. Remove the testcase skips from TestConcurrentEvents.py, since they all pass now, and fix TestWatchpointMultipleThreads.py - which should have caught this problem - so it doesn't artificially break on new thread creation before the watchpoint triggers. llvm.org/pr16566 <rdar://problem/14383244> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|
4d35f889ec869f86e950059470e90c99857ce477 |
|
02-Jun-2012 |
Johnny Chen <johnny.chen@apple.com> |
Properly initialize the member fields used for hardware watchpoint transaction management. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|
5693e875ac7ac8d6ce1614da40e0b56f3f58716c |
|
02-Jun-2012 |
Johnny Chen <johnny.chen@apple.com> |
rdar://problem/11320188 Designate MachThreadList as a transaction coordinator when doing Enable/DisableHardwareWatchpoint on the list of threads. In case the operation (iterating on the threads and doing enable/disable) fails in the middle, we rollback the already enabled/disabled threads to their checkpointed states. When all the threads succeed in enable/disable, we ask each thread to finsih the transaction and commit the change of the debug state. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|
f4933ed8d0fa218b5db476ecd881ec67495037f3 |
|
08-Dec-2011 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/10544202> Fixed detection of AVX on darwin now that our kernel supports it. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@146135 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|
3dd956eb7ee3e93df6b68a9c7c528e92359b6026 |
|
29-Sep-2011 |
Johnny Chen <johnny.chen@apple.com> |
Modify the delegation chain from MachThreadList -> MachThread -> DNBArchProtocol so that when the watchpoint state is changed, not only does the change propagate to all the thread instances, it also updates a global debug state, if chosen by the DNBArchProtocol derivative. Once implemented, the DNBArchProtocol derivative, also makes sure that when new thread comes along, it tries to inherit from the global debug state, if it is valid. Modify TestWatchpointMultipleThreads.py to test this functionality. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140811 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|
2080155a1aecfa50a82760dcc4127575fb5dea67 |
|
17-Sep-2011 |
Greg Clayton <gclayton@apple.com> |
Added more logging, and renamed FPR to FPU in a the register set/flavor enum. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|
fc8909388e6f1cea591c0d56434236f8d16543e6 |
|
08-Sep-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add logic to the DNBArchImplX86_64/DNBArchImplI386::NotifyException() callback method in order to distinguish the real single step exception from a watchpoint exception which uses the same exc_type of EXC_BREAKPOINT and exc_code of EXC_I386_SGL. This is done by checking the debug status register to find out whether the watchpoint data break event has fired, and, if yes, stuff the data break address into the exception's exc_sub_code field on the debugserver side for lldb to consume on the other end. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|
5b4b00f5fd83d87de954d80d54fd6cc922772c19 |
|
02-Sep-2011 |
Johnny Chen <johnny.chen@apple.com> |
Watchpoint work in progress: Add a virtual method GetHardwareWatchpointHit() to the DNBArchProtocol base class which consults the architecture to return the watchpoint hit; otherwise return an invalid index. Add impl. of the method to X86_64 and I386 subclasses, plus reset the debug status register before we resume execution of the inferior thread. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139034 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|
fe98a2e6d17f0cb3ffa4a071bb43eb76c339adef |
|
31-Aug-2011 |
Johnny Chen <johnny.chen@apple.com> |
Renaming: from IsVacantWatchpoint() to IsWatchpointVacant(). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138907 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|
0875a979e39324f0b8e7597b8ba37cca9efa0d27 |
|
31-Aug-2011 |
Johnny Chen <johnny.chen@apple.com> |
Renamed the helper method to ClearWatchpointHits() for clarity of its purpose. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|
9d544f43d8c1637c45562f1402012c235f648ee9 |
|
31-Aug-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add a couple of helper methods to check/clear the debug status register which contains the watchpoint hit information. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|
25d2818c62140bb79cc3d689c4052b306c59c6b7 |
|
31-Aug-2011 |
Johnny Chen <johnny.chen@apple.com> |
Watchpoint work in progress: add helper methods to DNB arch impl for I386 to implment Enable/DisableHardwareWatchpoint. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|
eb0eae254e4e2d737b9c137296197a70a1ba7f68 |
|
30-Aug-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add stubs of incomplete watchpoint implementation with "FIXME" markers. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|
e39356825b86cd7484097ca4c4c9f07f9ff95e2e |
|
29-Aug-2011 |
Greg Clayton <gclayton@apple.com> |
Added the debug registers for i386 and x86_64 in preparation for watchpoints. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|
c0c397fbb8d4145a62b036c2104aab7e34d84ed2 |
|
09-Aug-2011 |
Sean Callanan <scallanan@apple.com> |
Fixed a problem where the HasAVX() code in debugserver did not back up %ebx/%rbx, even though it was being clobbered by the CPUID instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|
153191e36fcc528c393f0290a646d3f777a33695 |
|
09-Aug-2011 |
Greg Clayton <gclayton@apple.com> |
The "bool HasAVX()" function doesn't backup and restore the cpu registers it uses and it crashes the release version of debugserver. We just get lucky in Debug builds. Until this is fixed I am disabling AVX detection to avoid the crashes. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137113 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|
db15e0cbbd18d6cd10a0197bae31aafb9e078365 |
|
16-Jul-2011 |
Sean Callanan <scallanan@apple.com> |
Added support for dynamic detection of AVX, and fixed a few bugs that revealed. Now the "register read" command should show AVX registers (ymm0-ymm15) on Mac OS X platforms that support them. When testing this on Mac OS X, run debugserver manually, like this: debugserver --native-regs localhost:1111 /path/to/executable Then lldb /path/to/executable ... (lldb) process connect connect://localhost:1111 git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135331 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|
4d3a89ef9d015e0cc3c12736b61d367fd98fe073 |
|
22-Mar-2011 |
Sean Callanan <scallanan@apple.com> |
Added AVX support to the Intel portion of debugserver. AVX autodetection is not yet implemented, but the structures and register reading/writing code are there. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|
20d338fad87eba91de65aa9bec76e01c04472848 |
|
18-Nov-2010 |
Greg Clayton <gclayton@apple.com> |
Fixed Process::Halt() as it was broken for "process halt" after recent changes to the DoHalt down in ProcessGDBRemote. I also moved the functionality that was in ProcessGDBRemote::DoHalt up into Process::Halt so not every class has to implement a tricky halt/resume on the internal state thread. The functionality is the same as it was before with two changes: - when we eat the event we now just reuse the event we consume when the private state thread is paused and set the interrupted bool on the event if needed - we also properly update the Process::m_public_state with the state of the event we consume. Prior to this, if you issued a "process halt" it would eat the event, not update the process state, and then produce a new event with the interrupted bit set and send it. Anyone listening to the event would get the stopped event with a process that whose state was set to "running". Fixed debugserver to not have to be spawned with the architecture of the inferior process. This worked fine for launching processes, but when attaching to processes by name or pid without a file in lldb, it would fail. Now debugserver can support multiple architectures for a native debug session on the current host. This currently means i386 and x86_64 are supported in the same binary and a x86_64 debugserver can attach to a i386 executable. This change involved a lot of changes to make sure we dynamically detect the correct registers for the inferior process. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@119680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|
fa1502444821fb699b14883bd24188c85a8793e0 |
|
28-Sep-2010 |
Johnny Chen <johnny.chen@apple.com> |
Another patch from Jean-Daniel. Thanks. Error in dbg server -> MachProcess::SetProcessID() and misc changes to make clang++ happy. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|
24943d2ee8bfaa7cf5893e4709143924157a5c1e |
|
08-Jun-2010 |
Chris Lattner <sabre@nondot.org> |
Initial checkin of lldb code from internal Apple repo. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h
|