[Lldb-commits] [lldb] r154725 - in /lldb/branches/lldb-platform-work: ./ scripts/ source/API/ source/Host/common/ source/Plugins/Process/gdb-remote/ source/Target/
Johnny Chen
johnny.chen at apple.com
Fri Apr 13 17:59:05 PDT 2012
Author: johnny
Date: Fri Apr 13 19:59:04 2012
New Revision: 154725
URL: http://llvm.org/viewvc/llvm-project?rev=154725&view=rev
Log:
Merge changes from ToT:
svn merge -r 154699:154722 https://johnny@llvm.org/svn/llvm-project/lldb/trunk .
Added:
lldb/branches/lldb-platform-work/scripts/llvm.fix-target-amalgamated.diff
- copied unchanged from r154722, lldb/trunk/scripts/llvm.fix-target-amalgamated.diff
Removed:
lldb/branches/lldb-platform-work/scripts/llvm.fix-arm-jit-info.diff
lldb/branches/lldb-platform-work/scripts/llvm.fix-vector-list-four.diff
Modified:
lldb/branches/lldb-platform-work/ (props changed)
lldb/branches/lldb-platform-work/llvm.zip
lldb/branches/lldb-platform-work/source/API/SBFrame.cpp
lldb/branches/lldb-platform-work/source/Host/common/Mutex.cpp
lldb/branches/lldb-platform-work/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
lldb/branches/lldb-platform-work/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
lldb/branches/lldb-platform-work/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
lldb/branches/lldb-platform-work/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
lldb/branches/lldb-platform-work/source/Target/Process.cpp
lldb/branches/lldb-platform-work/source/Target/ThreadPlanCallFunction.cpp
Propchange: lldb/branches/lldb-platform-work/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 13 19:59:04 2012
@@ -1 +1 @@
-/lldb/trunk:154224-154699
+/lldb/trunk:154224-154722
Modified: lldb/branches/lldb-platform-work/llvm.zip
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/lldb-platform-work/llvm.zip?rev=154725&r1=154724&r2=154725&view=diff
==============================================================================
Binary files - no diff available.
Removed: lldb/branches/lldb-platform-work/scripts/llvm.fix-arm-jit-info.diff
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/lldb-platform-work/scripts/llvm.fix-arm-jit-info.diff?rev=154724&view=auto
==============================================================================
--- lldb/branches/lldb-platform-work/scripts/llvm.fix-arm-jit-info.diff (original)
+++ lldb/branches/lldb-platform-work/scripts/llvm.fix-arm-jit-info.diff (removed)
@@ -1,22 +0,0 @@
-Index: lib/Target/ARM/ARMJITInfo.cpp
-===================================================================
---- lib/Target/ARM/ARMJITInfo.cpp (revision 152547)
-+++ lib/Target/ARM/ARMJITInfo.cpp (revision 152548)
-@@ -61,7 +61,7 @@
- // concerned, so we can't just preserve the callee saved regs.
- "stmdb sp!, {r0, r1, r2, r3, lr}\n"
- #if (defined(__VFP_FP__) && !defined(__SOFTFP__))
-- "fstmfdd sp!, {d0, d1, d2, d3, d4, d5, d6, d7}\n"
-+ "vstmdb sp!, {d0, d1, d2, d3, d4, d5, d6, d7}\n"
- #endif
- // The LR contains the address of the stub function on entry.
- // pass it as the argument to the C part of the callback
-@@ -85,7 +85,7 @@
- //
- #if (defined(__VFP_FP__) && !defined(__SOFTFP__))
- // Restore VFP caller-saved registers.
-- "fldmfdd sp!, {d0, d1, d2, d3, d4, d5, d6, d7}\n"
-+ "vldmia sp!, {d0, d1, d2, d3, d4, d5, d6, d7}\n"
- #endif
- //
- // We need to exchange the values in slots 0 and 1 so we can
Removed: lldb/branches/lldb-platform-work/scripts/llvm.fix-vector-list-four.diff
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/lldb-platform-work/scripts/llvm.fix-vector-list-four.diff?rev=154724&view=auto
==============================================================================
--- lldb/branches/lldb-platform-work/scripts/llvm.fix-vector-list-four.diff (original)
+++ lldb/branches/lldb-platform-work/scripts/llvm.fix-vector-list-four.diff (removed)
@@ -1,421 +0,0 @@
-Index: test/MC/Disassembler/ARM/neont2.txt
-===================================================================
---- test/MC/Disassembler/ARM/neont2.txt (revision 152265)
-+++ test/MC/Disassembler/ARM/neont2.txt (working copy)
-@@ -1595,3 +1595,186 @@
- # CHECK vld2.8 {d17[], d19[]}, [r7, :16]!
- 0xe7 0xf9 0x3f 0x1d
- # CHECK vld2.8 {d17[], d19[]}, [r7, :16]
-+
-+# rdar://11034702
-+0x04 0xf9 0x0d 0x87
-+# CHECK: vst1.8 {d8}, [r4]!
-+0x04 0xf9 0x4d 0x87
-+# CHECK: vst1.16 {d8}, [r4]!
-+0x04 0xf9 0x8d 0x87
-+# CHECK: vst1.32 {d8}, [r4]!
-+0x04 0xf9 0xcd 0x87
-+# CHECK: vst1.64 {d8}, [r4]!
-+0x04 0xf9 0x06 0x87
-+# CHECK: vst1.8 {d8}, [r4], r6
-+0x04 0xf9 0x46 0x87
-+# CHECK: vst1.16 {d8}, [r4], r6
-+0x04 0xf9 0x86 0x87
-+# CHECK: vst1.32 {d8}, [r4], r6
-+0x04 0xf9 0xc6 0x87
-+# CHECK: vst1.64 {d8}, [r4], r6
-+
-+0x04 0xf9 0x0d 0x8a
-+# CHECK: vst1.8 {d8, d9}, [r4]!
-+0x04 0xf9 0x4d 0x8a
-+# CHECK: vst1.16 {d8, d9}, [r4]!
-+0x04 0xf9 0x8d 0x8a
-+# CHECK: vst1.32 {d8, d9}, [r4]!
-+0x04 0xf9 0xcd 0x8a
-+# CHECK: vst1.64 {d8, d9}, [r4]!
-+0x04 0xf9 0x06 0x8a
-+# CHECK: vst1.8 {d8, d9}, [r4], r6
-+0x04 0xf9 0x46 0x8a
-+# CHECK: vst1.16 {d8, d9}, [r4], r6
-+0x04 0xf9 0x86 0x8a
-+# CHECK: vst1.32 {d8, d9}, [r4], r6
-+0x04 0xf9 0xc6 0x8a
-+# CHECK: vst1.64 {d8, d9}, [r4], r6
-+
-+0x04 0xf9 0x0d 0x86
-+# CHECK: vst1.8 {d8, d9, d10}, [r4]!
-+0x04 0xf9 0x4d 0x86
-+# CHECK: vst1.16 {d8, d9, d10}, [r4]!
-+0x04 0xf9 0x8d 0x86
-+# CHECK: vst1.32 {d8, d9, d10}, [r4]!
-+0x04 0xf9 0xcd 0x86
-+# CHECK: vst1.64 {d8, d9, d10}, [r4]!
-+0x04 0xf9 0x06 0x86
-+# CHECK: vst1.8 {d8, d9, d10}, [r4], r6
-+0x04 0xf9 0x46 0x86
-+# CHECK: vst1.16 {d8, d9, d10}, [r4], r6
-+0x04 0xf9 0x86 0x86
-+# CHECK: vst1.32 {d8, d9, d10}, [r4], r6
-+0x04 0xf9 0xc6 0x86
-+# CHECK: vst1.64 {d8, d9, d10}, [r4], r6
-+
-+0x04 0xf9 0x0d 0x82
-+# CHECK: vst1.8 {d8, d9, d10, d11}, [r4]!
-+0x04 0xf9 0x4d 0x82
-+# CHECK: vst1.16 {d8, d9, d10, d11}, [r4]!
-+0x04 0xf9 0x8d 0x82
-+# CHECK: vst1.32 {d8, d9, d10, d11}, [r4]!
-+0x04 0xf9 0xcd 0x82
-+# CHECK: vst1.64 {d8, d9, d10, d11}, [r4]!
-+0x04 0xf9 0x06 0x82
-+# CHECK: vst1.8 {d8, d9, d10, d11}, [r4], r6
-+0x04 0xf9 0x46 0x82
-+# CHECK: vst1.16 {d8, d9, d10, d11}, [r4], r6
-+0x04 0xf9 0x86 0x82
-+# CHECK: vst1.32 {d8, d9, d10, d11}, [r4], r6
-+0x04 0xf9 0xc6 0x82
-+# CHECK: vst1.64 {d8, d9, d10, d11}, [r4], r6
-+
-+0x04 0xf9 0x0d 0x88
-+# CHECK: vst2.8 {d8, d9}, [r4]!
-+0x04 0xf9 0x4d 0x88
-+# CHECK: vst2.16 {d8, d9}, [r4]!
-+0x04 0xf9 0x8d 0x88
-+# CHECK: vst2.32 {d8, d9}, [r4]!
-+0x04 0xf9 0x06 0x88
-+# CHECK: vst2.8 {d8, d9}, [r4], r6
-+0x04 0xf9 0x46 0x88
-+# CHECK: vst2.16 {d8, d9}, [r4], r6
-+0x04 0xf9 0x86 0x88
-+# CHECK: vst2.32 {d8, d9}, [r4], r6
-+
-+0x04 0xf9 0x0d 0x89
-+# CHECK: vst2.8 {d8, d10}, [r4]!
-+0x04 0xf9 0x4d 0x89
-+# CHECK: vst2.16 {d8, d10}, [r4]!
-+0x04 0xf9 0x8d 0x89
-+# CHECK: vst2.32 {d8, d10}, [r4]!
-+0x04 0xf9 0x06 0x89
-+# CHECK: vst2.8 {d8, d10}, [r4], r6
-+0x04 0xf9 0x46 0x89
-+# CHECK: vst2.16 {d8, d10}, [r4], r6
-+0x04 0xf9 0x86 0x89
-+# CHECK: vst2.32 {d8, d10}, [r4], r6
-+
-+0x04 0xf9 0x0d 0x84
-+# CHECK: vst3.8 {d8, d9, d10}, [r4]!
-+0x04 0xf9 0x4d 0x84
-+# CHECK: vst3.16 {d8, d9, d10}, [r4]!
-+0x04 0xf9 0x8d 0x84
-+# CHECK: vst3.32 {d8, d9, d10}, [r4]!
-+0x04 0xf9 0x06 0x85
-+# CHECK: vst3.8 {d8, d10, d12}, [r4], r6
-+0x04 0xf9 0x46 0x85
-+# CHECK: vst3.16 {d8, d10, d12}, [r4], r6
-+0x04 0xf9 0x86 0x85
-+# CHECK: vst3.32 {d8, d10, d12}, [r4], r6
-+
-+0x04 0xf9 0x0d 0x80
-+# CHECK: vst4.8 {d8, d9, d10, d11}, [r4]!
-+0x04 0xf9 0x4d 0x80
-+# CHECK: vst4.16 {d8, d9, d10, d11}, [r4]!
-+0x04 0xf9 0x8d 0x80
-+# CHECK: vst4.32 {d8, d9, d10, d11}, [r4]!
-+0x04 0xf9 0x06 0x81
-+# CHECK: vst4.8 {d8, d10, d12, d14}, [r4], r6
-+0x04 0xf9 0x46 0x81
-+# CHECK: vst4.16 {d8, d10, d12, d14}, [r4], r6
-+0x04 0xf9 0x86 0x81
-+# CHECK: vst4.32 {d8, d10, d12, d14}, [r4], r6
-+
-+0x04 0xf9 0x4f 0x8a
-+# CHECK: vst1.16 {d8, d9}, [r4]
-+0x04 0xf9 0x8f 0x8a
-+# CHECK: vst1.32 {d8, d9}, [r4]
-+0x04 0xf9 0xcf 0x8a
-+# CHECK: vst1.64 {d8, d9}, [r4]
-+0x04 0xf9 0x0f 0x8a
-+# CHECK: vst1.8 {d8, d9}, [r4]
-+0x04 0xf9 0x4f 0x88
-+# CHECK: vst2.16 {d8, d9}, [r4]
-+0x04 0xf9 0x8f 0x88
-+# CHECK: vst2.32 {d8, d9}, [r4]
-+0x04 0xf9 0x0f 0x88
-+# CHECK: vst2.8 {d8, d9}, [r4]
-+0x04 0xf9 0x4d 0x88
-+# CHECK: vst2.16 {d8, d9}, [r4]!
-+0x04 0xf9 0x46 0x88
-+# CHECK: vst2.16 {d8, d9}, [r4], r6
-+0x04 0xf9 0x8d 0x88
-+# CHECK: vst2.32 {d8, d9}, [r4]!
-+0x04 0xf9 0x86 0x88
-+# CHECK: vst2.32 {d8, d9}, [r4], r6
-+0x04 0xf9 0x0d 0x88
-+# CHECK: vst2.8 {d8, d9}, [r4]!
-+0x04 0xf9 0x06 0x88
-+# CHECK: vst2.8 {d8, d9}, [r4], r6
-+
-+0x04 0xf9 0x4f 0x89
-+# CHECK: vst2.16 {d8, d10}, [r4]
-+0x04 0xf9 0x8f 0x89
-+# CHECK: vst2.32 {d8, d10}, [r4]
-+0x04 0xf9 0x0f 0x89
-+# CHECK: vst2.8 {d8, d10}, [r4]
-+
-+0x04 0xf9 0x0f 0x84
-+# CHECK: vst3.8 {d8, d9, d10}, [r4]
-+0x04 0xf9 0x4f 0x84
-+# CHECK: vst3.16 {d8, d9, d10}, [r4]
-+0x04 0xf9 0x8f 0x84
-+# CHECK: vst3.32 {d8, d9, d10}, [r4]
-+
-+0x04 0xf9 0x0f 0x80
-+# CHECK: vst4.8 {d8, d9, d10, d11}, [r4]
-+0x04 0xf9 0x4f 0x80
-+# CHECK: vst4.16 {d8, d9, d10, d11}, [r4]
-+0x04 0xf9 0x8f 0x80
-+# CHECK: vst4.32 {d8, d9, d10, d11}, [r4]
-+
-+0x04 0xf9 0x0f 0x85
-+# CHECK: vst3.8 {d8, d10, d12}, [r4]
-+0x04 0xf9 0x4f 0x85
-+# CHECK: vst3.16 {d8, d10, d12}, [r4]
-+0x04 0xf9 0x8f 0x85
-+# CHECK: vst3.32 {d8, d10, d12}, [r4]
-+
-+0x04 0xf9 0x0f 0x81
-+# CHECK: vst4.8 {d8, d10, d12, d14}, [r4]
-+0x04 0xf9 0x4f 0x81
-+# CHECK: vst4.16 {d8, d10, d12, d14}, [r4]
-+0x04 0xf9 0x8f 0x81
-+# CHECK: vst4.32 {d8, d10, d12, d14}, [r4]
-Index: test/MC/Disassembler/ARM/neon.txt
-===================================================================
---- test/MC/Disassembler/ARM/neon.txt (revision 152265)
-+++ test/MC/Disassembler/ARM/neon.txt (working copy)
-@@ -1876,3 +1876,188 @@
- # CHECK vld2.8 {d17[], d19[]}, [r7, :16]!
- 0xe7 0xf9 0x3f 0x1d
- # CHECK vld2.8 {d17[], d19[]}, [r7, :16]
-+
-+# rdar://11034702
-+0x0d 0x87 0x04 0xf4
-+# CHECK: vst1.8 {d8}, [r4]!
-+0x4d 0x87 0x04 0xf4
-+# CHECK: vst1.16 {d8}, [r4]!
-+0x8d 0x87 0x04 0xf4
-+# CHECK: vst1.32 {d8}, [r4]!
-+0xcd 0x87 0x04 0xf4
-+# CHECK: vst1.64 {d8}, [r4]!
-+0x06 0x87 0x04 0xf4
-+# CHECK: vst1.8 {d8}, [r4], r6
-+0x46 0x87 0x04 0xf4
-+# CHECK: vst1.16 {d8}, [r4], r6
-+0x86 0x87 0x04 0xf4
-+# CHECK: vst1.32 {d8}, [r4], r6
-+0xc6 0x87 0x04 0xf4
-+# CHECK: vst1.64 {d8}, [r4], r6
-+
-+0x0d 0x8a 0x04 0xf4
-+# CHECK: vst1.8 {d8, d9}, [r4]!
-+0x4d 0x8a 0x04 0xf4
-+# CHECK: vst1.16 {d8, d9}, [r4]!
-+0x8d 0x8a 0x04 0xf4
-+# CHECK: vst1.32 {d8, d9}, [r4]!
-+0xcd 0x8a 0x04 0xf4
-+# CHECK: vst1.64 {d8, d9}, [r4]!
-+0x06 0x8a 0x04 0xf4
-+# CHECK: vst1.8 {d8, d9}, [r4], r6
-+0x46 0x8a 0x04 0xf4
-+# CHECK: vst1.16 {d8, d9}, [r4], r6
-+0x86 0x8a 0x04 0xf4
-+# CHECK: vst1.32 {d8, d9}, [r4], r6
-+0xc6 0x8a 0x04 0xf4
-+# CHECK: vst1.64 {d8, d9}, [r4], r6
-+
-+0x0d 0x86 0x04 0xf4
-+# CHECK: vst1.8 {d8, d9, d10}, [r4]!
-+0x4d 0x86 0x04 0xf4
-+# CHECK: vst1.16 {d8, d9, d10}, [r4]!
-+0x8d 0x86 0x04 0xf4
-+# CHECK: vst1.32 {d8, d9, d10}, [r4]!
-+0xcd 0x86 0x04 0xf4
-+# CHECK: vst1.64 {d8, d9, d10}, [r4]!
-+0x06 0x86 0x04 0xf4
-+# CHECK: vst1.8 {d8, d9, d10}, [r4], r6
-+0x46 0x86 0x04 0xf4
-+# CHECK: vst1.16 {d8, d9, d10}, [r4], r6
-+0x86 0x86 0x04 0xf4
-+# CHECK: vst1.32 {d8, d9, d10}, [r4], r6
-+0xc6 0x86 0x04 0xf4
-+# CHECK: vst1.64 {d8, d9, d10}, [r4], r6
-+
-+0x0d 0x82 0x04 0xf4
-+# CHECK: vst1.8 {d8, d9, d10, d11}, [r4]!
-+0x4d 0x82 0x04 0xf4
-+# CHECK: vst1.16 {d8, d9, d10, d11}, [r4]!
-+0x8d 0x82 0x04 0xf4
-+# CHECK: vst1.32 {d8, d9, d10, d11}, [r4]!
-+0xcd 0x82 0x04 0xf4
-+# CHECK: vst1.64 {d8, d9, d10, d11}, [r4]!
-+0x06 0x82 0x04 0xf4
-+# CHECK: vst1.8 {d8, d9, d10, d11}, [r4], r6
-+0x46 0x82 0x04 0xf4
-+# CHECK: vst1.16 {d8, d9, d10, d11}, [r4], r6
-+0x86 0x82 0x04 0xf4
-+# CHECK: vst1.32 {d8, d9, d10, d11}, [r4], r6
-+0xc6 0x82 0x04 0xf4
-+# CHECK: vst1.64 {d8, d9, d10, d11}, [r4], r6
-+
-+0x0d 0x88 0x04 0xf4
-+# CHECK: vst2.8 {d8, d9}, [r4]!
-+0x4d 0x88 0x04 0xf4
-+# CHECK: vst2.16 {d8, d9}, [r4]!
-+0x8d 0x88 0x04 0xf4
-+# CHECK: vst2.32 {d8, d9}, [r4]!
-+0x06 0x88 0x04 0xf4
-+# CHECK: vst2.8 {d8, d9}, [r4], r6
-+0x46 0x88 0x04 0xf4
-+# CHECK: vst2.16 {d8, d9}, [r4], r6
-+0x86 0x88 0x04 0xf4
-+# CHECK: vst2.32 {d8, d9}, [r4], r6
-+
-+0x0d 0x89 0x04 0xf4
-+# CHECK: vst2.8 {d8, d10}, [r4]!
-+0x4d 0x89 0x04 0xf4
-+# CHECK: vst2.16 {d8, d10}, [r4]!
-+0x8d 0x89 0x04 0xf4
-+# CHECK: vst2.32 {d8, d10}, [r4]!
-+0x06 0x89 0x04 0xf4
-+# CHECK: vst2.8 {d8, d10}, [r4], r6
-+0x46 0x89 0x04 0xf4
-+# CHECK: vst2.16 {d8, d10}, [r4], r6
-+0x86 0x89 0x04 0xf4
-+# CHECK: vst2.32 {d8, d10}, [r4], r6
-+
-+0x0d 0x84 0x04 0xf4
-+# CHECK: vst3.8 {d8, d9, d10}, [r4]!
-+0x4d 0x84 0x04 0xf4
-+# CHECK: vst3.16 {d8, d9, d10}, [r4]!
-+0x8d 0x84 0x04 0xf4
-+# CHECK: vst3.32 {d8, d9, d10}, [r4]!
-+0x06 0x85 0x04 0xf4
-+# CHECK: vst3.8 {d8, d10, d12}, [r4], r6
-+0x46 0x85 0x04 0xf4
-+# CHECK: vst3.16 {d8, d10, d12}, [r4], r6
-+0x86 0x85 0x04 0xf4
-+# CHECK: vst3.32 {d8, d10, d12}, [r4], r6
-+
-+0x0d 0x80 0x04 0xf4
-+# CHECK: vst4.8 {d8, d9, d10, d11}, [r4]!
-+0x4d 0x80 0x04 0xf4
-+# CHECK: vst4.16 {d8, d9, d10, d11}, [r4]!
-+0x8d 0x80 0x04 0xf4
-+# CHECK: vst4.32 {d8, d9, d10, d11}, [r4]!
-+0x06 0x81 0x04 0xf4
-+# CHECK: vst4.8 {d8, d10, d12, d14}, [r4], r6
-+0x46 0x81 0x04 0xf4
-+# CHECK: vst4.16 {d8, d10, d12, d14}, [r4], r6
-+0x86 0x81 0x04 0xf4
-+# CHECK: vst4.32 {d8, d10, d12, d14}, [r4], r6
-+
-+0x4f 0x8a 0x04 0xf4
-+# CHECK: vst1.16 {d8, d9}, [r4]
-+0x8f 0x8a 0x04 0xf4
-+# CHECK: vst1.32 {d8, d9}, [r4]
-+0xcf 0x8a 0x04 0xf4
-+# CHECK: vst1.64 {d8, d9}, [r4]
-+0x0f 0x8a 0x04 0xf4
-+# CHECK: vst1.8 {d8, d9}, [r4]
-+
-+0x4f 0x88 0x04 0xf4
-+# CHECK: vst2.16 {d8, d9}, [r4]
-+0x8f 0x88 0x04 0xf4
-+# CHECK: vst2.32 {d8, d9}, [r4]
-+0x0f 0x88 0x04 0xf4
-+# CHECK: vst2.8 {d8, d9}, [r4]
-+
-+0x4d 0x88 0x04 0xf4
-+# CHECK: vst2.16 {d8, d9}, [r4]!
-+0x46 0x88 0x04 0xf4
-+# CHECK: vst2.16 {d8, d9}, [r4], r6
-+0x8d 0x88 0x04 0xf4
-+# CHECK: vst2.32 {d8, d9}, [r4]!
-+0x86 0x88 0x04 0xf4
-+# CHECK: vst2.32 {d8, d9}, [r4], r6
-+0x0d 0x88 0x04 0xf4
-+# CHECK: vst2.8 {d8, d9}, [r4]!
-+0x06 0x88 0x04 0xf4
-+# CHECK: vst2.8 {d8, d9}, [r4], r6
-+
-+0x4f 0x89 0x04 0xf4
-+# CHECK: vst2.16 {d8, d10}, [r4]
-+0x8f 0x89 0x04 0xf4
-+# CHECK: vst2.32 {d8, d10}, [r4]
-+0x0f 0x89 0x04 0xf4
-+# CHECK: vst2.8 {d8, d10}, [r4]
-+
-+0x0f 0x84 0x04 0xf4
-+# CHECK: vst3.8 {d8, d9, d10}, [r4]
-+0x4f 0x84 0x04 0xf4
-+# CHECK: vst3.16 {d8, d9, d10}, [r4]
-+0x8f 0x84 0x04 0xf4
-+# CHECK: vst3.32 {d8, d9, d10}, [r4]
-+
-+0x0f 0x80 0x04 0xf4
-+# CHECK: vst4.8 {d8, d9, d10, d11}, [r4]
-+0x4f 0x80 0x04 0xf4
-+# CHECK: vst4.16 {d8, d9, d10, d11}, [r4]
-+0x8f 0x80 0x04 0xf4
-+# CHECK: vst4.32 {d8, d9, d10, d11}, [r4]
-+
-+0x0f 0x85 0x04 0xf4
-+# CHECK: vst3.8 {d8, d10, d12}, [r4]
-+0x4f 0x85 0x04 0xf4
-+# CHECK: vst3.16 {d8, d10, d12}, [r4]
-+0x8f 0x85 0x04 0xf4
-+# CHECK: vst3.32 {d8, d10, d12}, [r4]
-+
-+0x0f 0x81 0x04 0xf4
-+# CHECK: vst4.8 {d8, d10, d12, d14}, [r4]
-+0x4f 0x81 0x04 0xf4
-+# CHECK: vst4.16 {d8, d10, d12, d14}, [r4]
-+0x8f 0x81 0x04 0xf4
-+# CHECK: vst4.32 {d8, d10, d12, d14}, [r4]
-Index: lib/Target/ARM/Disassembler/ARMDisassembler.cpp
-===================================================================
---- lib/Target/ARM/Disassembler/ARMDisassembler.cpp (revision 152265)
-+++ lib/Target/ARM/Disassembler/ARMDisassembler.cpp (working copy)
-@@ -2313,6 +2313,8 @@
- case ARM::VST2b8wb_register:
- case ARM::VST2b16wb_register:
- case ARM::VST2b32wb_register:
-+ Inst.addOperand(MCOperand::CreateImm(0));
-+ break;
- case ARM::VST3d8_UPD:
- case ARM::VST3d16_UPD:
- case ARM::VST3d32_UPD:
-@@ -2354,6 +2356,23 @@
- case ARM::VST1q16wb_fixed:
- case ARM::VST1q32wb_fixed:
- case ARM::VST1q64wb_fixed:
-+ case ARM::VST1d8Twb_fixed:
-+ case ARM::VST1d16Twb_fixed:
-+ case ARM::VST1d32Twb_fixed:
-+ case ARM::VST1d64Twb_fixed:
-+ case ARM::VST1d8Qwb_fixed:
-+ case ARM::VST1d16Qwb_fixed:
-+ case ARM::VST1d32Qwb_fixed:
-+ case ARM::VST1d64Qwb_fixed:
-+ case ARM::VST2d8wb_fixed:
-+ case ARM::VST2d16wb_fixed:
-+ case ARM::VST2d32wb_fixed:
-+ case ARM::VST2q8wb_fixed:
-+ case ARM::VST2q16wb_fixed:
-+ case ARM::VST2q32wb_fixed:
-+ case ARM::VST2b8wb_fixed:
-+ case ARM::VST2b16wb_fixed:
-+ case ARM::VST2b32wb_fixed:
- break;
- }
-
Modified: lldb/branches/lldb-platform-work/source/API/SBFrame.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/lldb-platform-work/source/API/SBFrame.cpp?rev=154725&r1=154724&r2=154725&view=diff
==============================================================================
--- lldb/branches/lldb-platform-work/source/API/SBFrame.cpp (original)
+++ lldb/branches/lldb-platform-work/source/API/SBFrame.cpp Fri Apr 13 19:59:04 2012
@@ -883,11 +883,8 @@
size_t i;
VariableList *variable_list = NULL;
- // Scope for locker
- {
- Mutex::Locker api_locker (target->GetAPIMutex());
- variable_list = frame->GetVariableList(true);
- }
+ Mutex::Locker api_locker (target->GetAPIMutex());
+ variable_list = frame->GetVariableList(true);
if (variable_list)
{
const size_t num_variables = variable_list->GetSize();
Modified: lldb/branches/lldb-platform-work/source/Host/common/Mutex.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/lldb-platform-work/source/Host/common/Mutex.cpp?rev=154725&r1=154724&r2=154725&view=diff
==============================================================================
--- lldb/branches/lldb-platform-work/source/Host/common/Mutex.cpp (original)
+++ lldb/branches/lldb-platform-work/source/Host/common/Mutex.cpp Fri Apr 13 19:59:04 2012
@@ -74,6 +74,7 @@
case eMutexActionAssertInitialized:
// This function will return true if "m" is in the initialized mutex set
success = g_initialized_mutex_set.find(m) != g_initialized_mutex_set.end();
+ assert (success);
break;
}
// Manually call unlock so we don't to any of this error checking
Modified: lldb/branches/lldb-platform-work/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/lldb-platform-work/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp?rev=154725&r1=154724&r2=154725&view=diff
==============================================================================
--- lldb/branches/lldb-platform-work/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp (original)
+++ lldb/branches/lldb-platform-work/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp Fri Apr 13 19:59:04 2012
@@ -46,6 +46,41 @@
}
void
+GDBRemoteCommunication::History::AddPacket (char packet_char,
+ PacketType type,
+ uint32_t bytes_transmitted)
+{
+ const size_t size = m_packets.size();
+ if (size > 0)
+ {
+ const uint32_t idx = GetNextIndex();
+ m_packets[idx].packet.assign (1, packet_char);
+ m_packets[idx].type = type;
+ m_packets[idx].bytes_transmitted = bytes_transmitted;
+ m_packets[idx].packet_idx = m_total_packet_count;
+ m_packets[idx].tid = Host::GetCurrentThreadID();
+ }
+}
+
+void
+GDBRemoteCommunication::History::AddPacket (const std::string &src,
+ uint32_t src_len,
+ PacketType type,
+ uint32_t bytes_transmitted)
+{
+ const size_t size = m_packets.size();
+ if (size > 0)
+ {
+ const uint32_t idx = GetNextIndex();
+ m_packets[idx].packet.assign (src, 0, src_len);
+ m_packets[idx].type = type;
+ m_packets[idx].bytes_transmitted = bytes_transmitted;
+ m_packets[idx].packet_idx = m_total_packet_count;
+ m_packets[idx].tid = Host::GetCurrentThreadID();
+ }
+}
+
+void
GDBRemoteCommunication::History::Dump (lldb_private::Stream &strm) const
{
const uint32_t size = GetNumPacketsInHistory ();
@@ -57,8 +92,9 @@
const Entry &entry = m_packets[idx];
if (entry.type == ePacketTypeInvalid || entry.packet.empty())
break;
- strm.Printf ("history[%u] <%4u> %s packet: %s\n",
+ strm.Printf ("history[%u] tid=0x%4.4llx <%4u> %s packet: %s\n",
entry.packet_idx,
+ entry.tid,
entry.bytes_transmitted,
(entry.type == ePacketTypeSend) ? "send" : "read",
entry.packet.c_str());
@@ -80,8 +116,9 @@
const Entry &entry = m_packets[idx];
if (entry.type == ePacketTypeInvalid || entry.packet.empty())
break;
- log->Printf ("history[%u] <%4u> %s packet: %s",
+ log->Printf ("history[%u] tid=0x%4.4llx <%4u> %s packet: %s",
entry.packet_idx,
+ entry.tid,
entry.bytes_transmitted,
(entry.type == ePacketTypeSend) ? "send" : "read",
entry.packet.c_str());
@@ -602,12 +639,7 @@
}
void
-GDBRemoteCommunication::DumpHistory(const char *path)
+GDBRemoteCommunication::DumpHistory(Stream &strm)
{
- StreamFile strm;
- Error error (strm.GetFile().Open(path, File::eOpenOptionWrite | File::eOpenOptionCanCreate));
- if (error.Success())
- m_history.Dump (strm);
- else
- fprintf (stderr, "error: unable to open '%s' -- %s\n", path, error.AsCString());
+ m_history.Dump (strm);
}
Modified: lldb/branches/lldb-platform-work/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/lldb-platform-work/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h?rev=154725&r1=154724&r2=154725&view=diff
==============================================================================
--- lldb/branches/lldb-platform-work/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h (original)
+++ lldb/branches/lldb-platform-work/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h Fri Apr 13 19:59:04 2012
@@ -114,7 +114,7 @@
lldb_private::ProcessLaunchInfo &launch_info);
void
- DumpHistory(const char *path);
+ DumpHistory(lldb_private::Stream &strm);
protected:
@@ -134,7 +134,8 @@
packet(),
type (ePacketTypeInvalid),
bytes_transmitted (0),
- packet_idx (0)
+ packet_idx (0),
+ tid (LLDB_INVALID_THREAD_ID)
{
}
@@ -145,12 +146,13 @@
type = ePacketTypeInvalid;
bytes_transmitted = 0;
packet_idx = 0;
-
+ tid = LLDB_INVALID_THREAD_ID;
}
std::string packet;
PacketType type;
uint32_t bytes_transmitted;
uint32_t packet_idx;
+ lldb::tid_t tid;
};
History (uint32_t size);
@@ -161,35 +163,12 @@
void
AddPacket (char packet_char,
PacketType type,
- uint32_t bytes_transmitted)
- {
- const size_t size = m_packets.size();
- if (size > 0)
- {
- const uint32_t idx = GetNextIndex();
- m_packets[idx].packet.assign (1, packet_char);
- m_packets[idx].type = type;
- m_packets[idx].bytes_transmitted = bytes_transmitted;
- m_packets[idx].packet_idx = m_total_packet_count;
- }
- }
-
+ uint32_t bytes_transmitted);
void
AddPacket (const std::string &src,
uint32_t src_len,
PacketType type,
- uint32_t bytes_transmitted)
- {
- const size_t size = m_packets.size();
- if (size > 0)
- {
- const uint32_t idx = GetNextIndex();
- m_packets[idx].packet.assign (src, 0, src_len);
- m_packets[idx].type = type;
- m_packets[idx].bytes_transmitted = bytes_transmitted;
- m_packets[idx].packet_idx = m_total_packet_count;
- }
- }
+ uint32_t bytes_transmitted);
void
Dump (lldb_private::Stream &strm) const;
Modified: lldb/branches/lldb-platform-work/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/lldb-platform-work/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp?rev=154725&r1=154724&r2=154725&view=diff
==============================================================================
--- lldb/branches/lldb-platform-work/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp (original)
+++ lldb/branches/lldb-platform-work/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp Fri Apr 13 19:59:04 2012
@@ -246,7 +246,18 @@
{
LogSP log (ProcessGDBRemoteLog::GetLogIfAnyCategoryIsSet (GDBR_LOG_THREAD | GDBR_LOG_PACKETS));
if (log)
- log->Printf("error: failed to get packet sequence mutex, not sending read register for \"%s\"", reg_info->name);
+ {
+ if (log->GetVerbose())
+ {
+ StreamString strm;
+ gdb_comm.DumpHistory(strm);
+ log->Printf("error: failed to get packet sequence mutex, not sending read register for \"%s\":\n%s", reg_info->name, strm.GetData());
+ }
+ else
+ {
+ log->Printf("error: failed to get packet sequence mutex, not sending read register for \"%s\"", reg_info->name);
+ }
+ }
}
// Make sure we got a valid register value after reading it
@@ -431,7 +442,16 @@
{
LogSP log (ProcessGDBRemoteLog::GetLogIfAnyCategoryIsSet (GDBR_LOG_THREAD | GDBR_LOG_PACKETS));
if (log)
- log->Printf("error: failed to get packet sequence mutex, not sending write register for \"%s\"", reg_info->name);
+ {
+ if (log->GetVerbose())
+ {
+ StreamString strm;
+ gdb_comm.DumpHistory(strm);
+ log->Printf("error: failed to get packet sequence mutex, not sending write register for \"%s\":\n%s", reg_info->name, strm.GetData());
+ }
+ else
+ log->Printf("error: failed to get packet sequence mutex, not sending write register for \"%s\"", reg_info->name);
+ }
}
}
return false;
@@ -492,7 +512,16 @@
{
LogSP log (ProcessGDBRemoteLog::GetLogIfAnyCategoryIsSet (GDBR_LOG_THREAD | GDBR_LOG_PACKETS));
if (log)
- log->Printf("error: failed to get packet sequence mutex, not sending read all registers");
+ {
+ if (log->GetVerbose())
+ {
+ StreamString strm;
+ gdb_comm.DumpHistory(strm);
+ log->Printf("error: failed to get packet sequence mutex, not sending read all registers:\n%s", strm.GetData());
+ }
+ else
+ log->Printf("error: failed to get packet sequence mutex, not sending read all registers");
+ }
}
data_sp.reset();
@@ -616,7 +645,16 @@
{
LogSP log (ProcessGDBRemoteLog::GetLogIfAnyCategoryIsSet (GDBR_LOG_THREAD | GDBR_LOG_PACKETS));
if (log)
- log->Printf("error: failed to get packet sequence mutex, not sending write all registers");
+ {
+ if (log->GetVerbose())
+ {
+ StreamString strm;
+ gdb_comm.DumpHistory(strm);
+ log->Printf("error: failed to get packet sequence mutex, not sending write all registers:\n%s", strm.GetData());
+ }
+ else
+ log->Printf("error: failed to get packet sequence mutex, not sending write all registers");
+ }
}
return false;
}
Modified: lldb/branches/lldb-platform-work/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/lldb-platform-work/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp?rev=154725&r1=154724&r2=154725&view=diff
==============================================================================
--- lldb/branches/lldb-platform-work/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp (original)
+++ lldb/branches/lldb-platform-work/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp Fri Apr 13 19:59:04 2012
@@ -32,6 +32,7 @@
#include "lldb/Core/Module.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/State.h"
+#include "lldb/Core/StreamFile.h"
#include "lldb/Core/StreamString.h"
#include "lldb/Core/Timer.h"
#include "lldb/Core/Value.h"
@@ -64,7 +65,10 @@
void
DumpProcessGDBRemotePacketHistory (void *p, const char *path)
{
- ((ProcessGDBRemote *)p)->GetGDBRemote().DumpHistory (path);
+ lldb_private::StreamFile strm;
+ lldb_private::Error error (strm.GetFile().Open(path, lldb_private::File::eOpenOptionWrite | lldb_private::File::eOpenOptionCanCreate));
+ if (error.Success())
+ ((ProcessGDBRemote *)p)->GetGDBRemote().DumpHistory (strm);
}
};
Modified: lldb/branches/lldb-platform-work/source/Target/Process.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/lldb-platform-work/source/Target/Process.cpp?rev=154725&r1=154724&r2=154725&view=diff
==============================================================================
--- lldb/branches/lldb-platform-work/source/Target/Process.cpp (original)
+++ lldb/branches/lldb-platform-work/source/Target/Process.cpp Fri Apr 13 19:59:04 2012
@@ -4033,7 +4033,7 @@
if (!got_event)
{
if (log)
- log->PutCString("Didn't get any event after initial resume, exiting.");
+ log->PutCString("Process::RunThreadPlan(): didn't get any event after initial resume, exiting.");
errors.Printf("Didn't get any event after initial resume, exiting.");
return_value = eExecutionSetupError;
@@ -4044,7 +4044,7 @@
if (stop_state != eStateRunning)
{
if (log)
- log->Printf("Didn't get running event after initial resume, got %s instead.", StateAsCString(stop_state));
+ log->Printf("Process::RunThreadPlan(): didn't get running event after initial resume, got %s instead.", StateAsCString(stop_state));
errors.Printf("Didn't get running event after initial resume, got %s instead.", StateAsCString(stop_state));
return_value = eExecutionSetupError;
@@ -4052,7 +4052,7 @@
}
if (log)
- log->PutCString ("Resuming succeeded.");
+ log->PutCString ("Process::RunThreadPlan(): resuming succeeded.");
// We need to call the function synchronously, so spin waiting for it to return.
// If we get interrupted while executing, we're going to lose our context, and
// won't be able to gather the result at this point.
@@ -4062,10 +4062,7 @@
if (single_thread_timeout_usec != 0)
{
real_timeout = TimeValue::Now();
- if (first_timeout)
- real_timeout.OffsetWithMicroSeconds(single_thread_timeout_usec);
- else
- real_timeout.OffsetWithSeconds(10);
+ real_timeout.OffsetWithMicroSeconds(single_thread_timeout_usec);
timeout_ptr = &real_timeout;
}
@@ -4073,13 +4070,31 @@
else
{
if (log)
- log->PutCString ("Handled an extra running event.");
+ log->PutCString ("Process::RunThreadPlan(): handled an extra running event.");
do_resume = true;
}
// Now wait for the process to stop again:
stop_state = lldb::eStateInvalid;
event_sp.reset();
+
+ if (log)
+ {
+ if (timeout_ptr)
+ {
+ StreamString s;
+ s.Printf ("about to wait - timeout is:\n ");
+ timeout_ptr->Dump (&s, 120);
+ s.Printf ("\nNow is:\n ");
+ TimeValue::Now().Dump (&s, 120);
+ log->Printf ("Process::RunThreadPlan(): %s", s.GetData());
+ }
+ else
+ {
+ log->Printf ("Process::RunThreadPlan(): about to wait forever.");
+ }
+ }
+
got_event = listener.WaitForEvent (timeout_ptr, event_sp);
if (got_event)
@@ -4089,7 +4104,7 @@
bool keep_going = false;
stop_state = Process::ProcessEventData::GetStateFromEvent(event_sp.get());
if (log)
- log->Printf("In while loop, got event: %s.", StateAsCString(stop_state));
+ log->Printf("Process::RunThreadPlan(): in while loop, got event: %s.", StateAsCString(stop_state));
switch (stop_state)
{
@@ -4101,7 +4116,7 @@
{
// Ooh, our thread has vanished. Unlikely that this was successful execution...
if (log)
- log->Printf ("Execution completed but our thread (index-id=%u) has vanished.", thread_idx_id);
+ log->Printf ("Process::RunThreadPlan(): execution completed but our thread (index-id=%u) has vanished.", thread_idx_id);
return_value = eExecutionInterrupted;
}
else
@@ -4113,7 +4128,7 @@
if (stop_reason == eStopReasonPlanComplete)
{
if (log)
- log->PutCString ("Execution completed successfully.");
+ log->PutCString ("Process::RunThreadPlan(): execution completed successfully.");
// Now mark this plan as private so it doesn't get reported as the stop reason
// after this point.
if (thread_plan_sp)
@@ -4123,7 +4138,7 @@
else
{
if (log)
- log->PutCString ("Thread plan didn't successfully complete.");
+ log->PutCString ("Process::RunThreadPlan(): thread plan didn't successfully complete.");
return_value = eExecutionInterrupted;
}
@@ -4133,7 +4148,7 @@
case lldb::eStateCrashed:
if (log)
- log->PutCString ("Execution crashed.");
+ log->PutCString ("Process::RunThreadPlan(): execution crashed.");
return_value = eExecutionInterrupted;
break;
@@ -4144,7 +4159,7 @@
default:
if (log)
- log->Printf("Execution stopped with unexpected state: %s.", StateAsCString(stop_state));
+ log->Printf("Process::RunThreadPlan(): execution stopped with unexpected state: %s.", StateAsCString(stop_state));
errors.Printf ("Execution stopped with unexpected state.");
return_value = eExecutionInterrupted;
@@ -4158,7 +4173,7 @@
else
{
if (log)
- log->PutCString ("got_event was true, but the event pointer was null. How odd...");
+ log->PutCString ("Process::RunThreadPlan(): got_event was true, but the event pointer was null. How odd...");
return_value = eExecutionInterrupted;
break;
}
@@ -4229,7 +4244,7 @@
if (!try_all_threads)
{
if (log)
- log->PutCString ("try_all_threads was false, we stopped so now we're quitting.");
+ log->PutCString ("Process::RunThreadPlan(): try_all_threads was false, we stopped so now we're quitting.");
return_value = eExecutionInterrupted;
break;
}
@@ -4240,7 +4255,7 @@
first_timeout = false;
thread_plan_sp->SetStopOthers (false);
if (log)
- log->PutCString ("Process::RunThreadPlan(): About to resume.");
+ log->PutCString ("Process::RunThreadPlan(): about to resume.");
continue;
}
@@ -4434,9 +4449,17 @@
if (discard_on_error && thread_plan_sp)
{
+ if (log)
+ log->Printf ("Process::RunThreadPlan: ExecutionInterrupted - discarding thread plans up to %p.", thread_plan_sp.get());
thread->DiscardThreadPlansUpToPlan (thread_plan_sp);
thread_plan_sp->SetPrivate (orig_plan_private);
}
+ else
+ {
+ if (log)
+ log->Printf ("Process::RunThreadPlan: ExecutionInterrupted - for plan: %p not discarding.", thread_plan_sp.get());
+
+ }
}
}
else if (return_value == eExecutionSetupError)
Modified: lldb/branches/lldb-platform-work/source/Target/ThreadPlanCallFunction.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/lldb-platform-work/source/Target/ThreadPlanCallFunction.cpp?rev=154725&r1=154724&r2=154725&view=diff
==============================================================================
--- lldb/branches/lldb-platform-work/source/Target/ThreadPlanCallFunction.cpp (original)
+++ lldb/branches/lldb-platform-work/source/Target/ThreadPlanCallFunction.cpp Fri Apr 13 19:59:04 2012
@@ -57,7 +57,7 @@
TargetSP target_sp (thread.CalculateTarget());
- LogSP log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_STEP));
+ LogSP log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_STEP));
SetBreakpoints();
@@ -69,7 +69,7 @@
if (!error.Success())
{
if (log)
- log->Printf ("Trying to put the stack in unreadable memory at: 0x%llx.", m_function_sp);
+ log->Printf ("ThreadPlanCallFunction(%p): Trying to put the stack in unreadable memory at: 0x%llx.", this, m_function_sp);
return false;
}
@@ -78,7 +78,7 @@
if (exe_module == NULL)
{
if (log)
- log->Printf ("Can't execute code without an executable module.");
+ log->Printf ("ThreadPlanCallFunction(%p): Can't execute code without an executable module.", this);
return false;
}
else
@@ -87,16 +87,16 @@
if (!objectFile)
{
if (log)
- log->Printf ("Could not find object file for module \"%s\".",
- exe_module->GetFileSpec().GetFilename().AsCString());
+ log->Printf ("ThreadPlanCallFunction(%p): Could not find object file for module \"%s\".",
+ this, exe_module->GetFileSpec().GetFilename().AsCString());
return false;
}
m_start_addr = objectFile->GetEntryPointAddress();
if (!m_start_addr.IsValid())
{
if (log)
- log->Printf ("Could not find entry point address for executable module \"%s\".",
- exe_module->GetFileSpec().GetFilename().AsCString());
+ log->Printf ("ThreadPlanCallFunction(%p): Could not find entry point address for executable module \"%s\".",
+ this, exe_module->GetFileSpec().GetFilename().AsCString());
return false;
}
}
@@ -110,7 +110,7 @@
if (!thread.CheckpointThreadState (m_stored_thread_state))
{
if (log)
- log->Printf ("Setting up ThreadPlanCallFunction, failed to checkpoint thread state.");
+ log->Printf ("ThreadPlanCallFunction(%p): Setting up ThreadPlanCallFunction, failed to checkpoint thread state.", this);
return false;
}
// Now set the thread state to "no reason" so we don't run with whatever signal was outstanding...
@@ -262,7 +262,16 @@
void
ThreadPlanCallFunction::DoTakedown ()
{
- LogSP log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_STEP));
+ LogSP log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_STEP));
+
+ if (!m_valid)
+ {
+ //Don't call DoTakedown if we were never valid to begin with.
+ if (log)
+ log->Printf ("ThreadPlanCallFunction(%p): Log called on ThreadPlanCallFunction that was never valid.", this);
+ return;
+ }
+
if (!m_takedown_done)
{
ProcessSP process_sp (m_thread.GetProcess());
@@ -274,7 +283,7 @@
}
if (log)
- log->Printf ("DoTakedown called for thread 0x%4.4llx, m_valid: %d complete: %d.\n", m_thread.GetID(), m_valid, IsPlanComplete());
+ log->Printf ("ThreadPlanCallFunction(%p): DoTakedown called for thread 0x%4.4llx, m_valid: %d complete: %d.\n", this, m_thread.GetID(), m_valid, IsPlanComplete());
m_takedown_done = true;
m_stop_address = m_thread.GetStackFrameAtIndex(0)->GetRegisterContext()->GetPC();
m_real_stop_info_sp = GetPrivateStopReason();
@@ -288,7 +297,7 @@
else
{
if (log)
- log->Printf ("DoTakedown called as no-op for thread 0x%4.4llx, m_valid: %d complete: %d.\n", m_thread.GetID(), m_valid, IsPlanComplete());
+ log->Printf ("ThreadPlanCallFunction(%p): DoTakedown called as no-op for thread 0x%4.4llx, m_valid: %d complete: %d.\n", this, m_thread.GetID(), m_valid, IsPlanComplete());
}
}
@@ -447,7 +456,7 @@
LogSP log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_STEP));
if (log)
- log->Printf("Completed call function plan.");
+ log->Printf("ThreadPlanCallFunction(%p): Completed call function plan.", this);
ThreadPlan::MischiefManaged ();
return true;
More information about the lldb-commits
mailing list