[Lldb-commits] [lldb] r344729 - [Windows] Fix threads comparison on Windows

2018-10-18 Thread Aleksandr Urakov via lldb-commits
Author: aleksandr.urakov
Date: Thu Oct 18 00:52:56 2018
New Revision: 344729

URL: http://llvm.org/viewvc/llvm-project?rev=344729&view=rev
Log:
[Windows] Fix threads comparison on Windows

Summary:
This patch makes Windows threads to compare by a thread ID, not by a handle.
It's because the same thread can have different handles on Windows
(for example, `GetCurrentThread` always returns the fake handle `-2`).
This leads to some incorrect behavior. For example, in `Process::GetRunLock`
always `m_public_run_lock` is returned without this patch.

Reviewers: zturner, clayborg, stella.stamenova

Reviewed By: stella.stamenova

Subscribers: stella.stamenova, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D53357

Modified:
lldb/trunk/include/lldb/Host/HostNativeThreadBase.h
lldb/trunk/include/lldb/Host/windows/HostThreadWindows.h
lldb/trunk/source/Host/common/HostNativeThreadBase.cpp
lldb/trunk/source/Host/common/HostThread.cpp
lldb/trunk/source/Host/windows/HostThreadWindows.cpp

Modified: lldb/trunk/include/lldb/Host/HostNativeThreadBase.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Host/HostNativeThreadBase.h?rev=344729&r1=344728&r2=344729&view=diff
==
--- lldb/trunk/include/lldb/Host/HostNativeThreadBase.h (original)
+++ lldb/trunk/include/lldb/Host/HostNativeThreadBase.h Thu Oct 18 00:52:56 2018
@@ -35,6 +35,7 @@ public:
   virtual Status Cancel() = 0;
   virtual bool IsJoinable() const;
   virtual void Reset();
+  virtual bool EqualsThread(lldb::thread_t thread) const;
   lldb::thread_t Release();
 
   lldb::thread_t GetSystemHandle() const;

Modified: lldb/trunk/include/lldb/Host/windows/HostThreadWindows.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Host/windows/HostThreadWindows.h?rev=344729&r1=344728&r2=344729&view=diff
==
--- lldb/trunk/include/lldb/Host/windows/HostThreadWindows.h (original)
+++ lldb/trunk/include/lldb/Host/windows/HostThreadWindows.h Thu Oct 18 
00:52:56 2018
@@ -29,6 +29,7 @@ public:
   virtual Status Join(lldb::thread_result_t *result);
   virtual Status Cancel();
   virtual void Reset();
+  virtual bool EqualsThread(lldb::thread_t thread) const;
 
   lldb::tid_t GetThreadId() const;
 

Modified: lldb/trunk/source/Host/common/HostNativeThreadBase.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/common/HostNativeThreadBase.cpp?rev=344729&r1=344728&r2=344729&view=diff
==
--- lldb/trunk/source/Host/common/HostNativeThreadBase.cpp (original)
+++ lldb/trunk/source/Host/common/HostNativeThreadBase.cpp Thu Oct 18 00:52:56 
2018
@@ -41,6 +41,10 @@ void HostNativeThreadBase::Reset() {
   m_result = 0;
 }
 
+bool HostNativeThreadBase::EqualsThread(lldb::thread_t thread) const {
+  return m_thread == thread;
+}
+
 lldb::thread_t HostNativeThreadBase::Release() {
   lldb::thread_t result = m_thread;
   m_thread = LLDB_INVALID_HOST_THREAD;

Modified: lldb/trunk/source/Host/common/HostThread.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/common/HostThread.cpp?rev=344729&r1=344728&r2=344729&view=diff
==
--- lldb/trunk/source/Host/common/HostThread.cpp (original)
+++ lldb/trunk/source/Host/common/HostThread.cpp Thu Oct 18 00:52:56 2018
@@ -43,5 +43,5 @@ lldb::thread_result_t HostThread::GetRes
 }
 
 bool HostThread::EqualsThread(lldb::thread_t thread) const {
-  return m_native_thread->GetSystemHandle() == thread;
+  return m_native_thread->EqualsThread(thread);
 }

Modified: lldb/trunk/source/Host/windows/HostThreadWindows.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/windows/HostThreadWindows.cpp?rev=344729&r1=344728&r2=344729&view=diff
==
--- lldb/trunk/source/Host/windows/HostThreadWindows.cpp (original)
+++ lldb/trunk/source/Host/windows/HostThreadWindows.cpp Thu Oct 18 00:52:56 
2018
@@ -69,3 +69,7 @@ void HostThreadWindows::Reset() {
 
   HostNativeThreadBase::Reset();
 }
+
+bool HostThreadWindows::EqualsThread(lldb::thread_t thread) const {
+  return GetThreadId() == ::GetThreadId(thread);
+}


___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D53357: [Windows] Fix threads comparison on Windows

2018-10-18 Thread Aleksandr Urakov via Phabricator via lldb-commits
aleksandr.urakov added a comment.

Thank you!


Repository:
  rLLDB LLDB

https://reviews.llvm.org/D53357



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D53357: [Windows] Fix threads comparison on Windows

2018-10-18 Thread Aleksandr Urakov via Phabricator via lldb-commits
This revision was automatically updated to reflect the committed changes.
Closed by commit rL344729: [Windows] Fix threads comparison on Windows 
(authored by aleksandr.urakov, committed by ).
Herald added a subscriber: llvm-commits.

Changed prior to commit:
  https://reviews.llvm.org/D53357?vs=169966&id=170047#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D53357

Files:
  lldb/trunk/include/lldb/Host/HostNativeThreadBase.h
  lldb/trunk/include/lldb/Host/windows/HostThreadWindows.h
  lldb/trunk/source/Host/common/HostNativeThreadBase.cpp
  lldb/trunk/source/Host/common/HostThread.cpp
  lldb/trunk/source/Host/windows/HostThreadWindows.cpp


Index: lldb/trunk/include/lldb/Host/windows/HostThreadWindows.h
===
--- lldb/trunk/include/lldb/Host/windows/HostThreadWindows.h
+++ lldb/trunk/include/lldb/Host/windows/HostThreadWindows.h
@@ -29,6 +29,7 @@
   virtual Status Join(lldb::thread_result_t *result);
   virtual Status Cancel();
   virtual void Reset();
+  virtual bool EqualsThread(lldb::thread_t thread) const;
 
   lldb::tid_t GetThreadId() const;
 
Index: lldb/trunk/include/lldb/Host/HostNativeThreadBase.h
===
--- lldb/trunk/include/lldb/Host/HostNativeThreadBase.h
+++ lldb/trunk/include/lldb/Host/HostNativeThreadBase.h
@@ -35,6 +35,7 @@
   virtual Status Cancel() = 0;
   virtual bool IsJoinable() const;
   virtual void Reset();
+  virtual bool EqualsThread(lldb::thread_t thread) const;
   lldb::thread_t Release();
 
   lldb::thread_t GetSystemHandle() const;
Index: lldb/trunk/source/Host/windows/HostThreadWindows.cpp
===
--- lldb/trunk/source/Host/windows/HostThreadWindows.cpp
+++ lldb/trunk/source/Host/windows/HostThreadWindows.cpp
@@ -69,3 +69,7 @@
 
   HostNativeThreadBase::Reset();
 }
+
+bool HostThreadWindows::EqualsThread(lldb::thread_t thread) const {
+  return GetThreadId() == ::GetThreadId(thread);
+}
Index: lldb/trunk/source/Host/common/HostNativeThreadBase.cpp
===
--- lldb/trunk/source/Host/common/HostNativeThreadBase.cpp
+++ lldb/trunk/source/Host/common/HostNativeThreadBase.cpp
@@ -41,6 +41,10 @@
   m_result = 0;
 }
 
+bool HostNativeThreadBase::EqualsThread(lldb::thread_t thread) const {
+  return m_thread == thread;
+}
+
 lldb::thread_t HostNativeThreadBase::Release() {
   lldb::thread_t result = m_thread;
   m_thread = LLDB_INVALID_HOST_THREAD;
Index: lldb/trunk/source/Host/common/HostThread.cpp
===
--- lldb/trunk/source/Host/common/HostThread.cpp
+++ lldb/trunk/source/Host/common/HostThread.cpp
@@ -43,5 +43,5 @@
 }
 
 bool HostThread::EqualsThread(lldb::thread_t thread) const {
-  return m_native_thread->GetSystemHandle() == thread;
+  return m_native_thread->EqualsThread(thread);
 }


Index: lldb/trunk/include/lldb/Host/windows/HostThreadWindows.h
===
--- lldb/trunk/include/lldb/Host/windows/HostThreadWindows.h
+++ lldb/trunk/include/lldb/Host/windows/HostThreadWindows.h
@@ -29,6 +29,7 @@
   virtual Status Join(lldb::thread_result_t *result);
   virtual Status Cancel();
   virtual void Reset();
+  virtual bool EqualsThread(lldb::thread_t thread) const;
 
   lldb::tid_t GetThreadId() const;
 
Index: lldb/trunk/include/lldb/Host/HostNativeThreadBase.h
===
--- lldb/trunk/include/lldb/Host/HostNativeThreadBase.h
+++ lldb/trunk/include/lldb/Host/HostNativeThreadBase.h
@@ -35,6 +35,7 @@
   virtual Status Cancel() = 0;
   virtual bool IsJoinable() const;
   virtual void Reset();
+  virtual bool EqualsThread(lldb::thread_t thread) const;
   lldb::thread_t Release();
 
   lldb::thread_t GetSystemHandle() const;
Index: lldb/trunk/source/Host/windows/HostThreadWindows.cpp
===
--- lldb/trunk/source/Host/windows/HostThreadWindows.cpp
+++ lldb/trunk/source/Host/windows/HostThreadWindows.cpp
@@ -69,3 +69,7 @@
 
   HostNativeThreadBase::Reset();
 }
+
+bool HostThreadWindows::EqualsThread(lldb::thread_t thread) const {
+  return GetThreadId() == ::GetThreadId(thread);
+}
Index: lldb/trunk/source/Host/common/HostNativeThreadBase.cpp
===
--- lldb/trunk/source/Host/common/HostNativeThreadBase.cpp
+++ lldb/trunk/source/Host/common/HostNativeThreadBase.cpp
@@ -41,6 +41,10 @@
   m_result = 0;
 }
 
+bool HostNativeThreadBase::EqualsThread(lldb::thread_t thread) const {
+  return m_thread == thread;
+}
+
 lldb::thread_t HostNativeThreadBase::Release() {
   lldb::thread_t result = m_thread;
   m_thread = LLDB_INVALID_HOST_THREAD;
Index: lldb/trunk/source/Host/common/HostThread.cpp
==

[Lldb-commits] [PATCH] D53140: [LLDB] - Add support for DW_RLE_base_address and DW_RLE_offset_pair entries (.debug_rnglists)

2018-10-18 Thread George Rimar via Phabricator via lldb-commits
grimar updated this revision to Diff 170050.
grimar added a comment.

- Rebased, resolved conflicts.


https://reviews.llvm.org/D53140

Files:
  lit/Breakpoint/Inputs/debug_rnglist_offset_pair.yaml
  lit/Breakpoint/debug_rnglist_offset_pair.test
  source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
  source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp
  source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h
  source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
  source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h

Index: source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
===
--- source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
+++ source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
@@ -53,8 +53,7 @@
 class DWARFDebugInfo;
 class DWARFDebugInfoEntry;
 class DWARFDebugLine;
-class DWARFDebugRanges;
-class DWARFDebugRngLists;
+class DWARFDebugRangesBase;
 class DWARFDeclContext;
 class DWARFDIECollection;
 class DWARFFormValue;
@@ -263,9 +262,9 @@
 
   const DWARFDebugInfo *DebugInfo() const;
 
-  DWARFDebugRanges *DebugRanges();
+  DWARFDebugRangesBase *DebugRanges();
 
-  const DWARFDebugRanges *DebugRanges() const;
+  const DWARFDebugRangesBase *DebugRanges() const;
 
   static bool SupportedVersion(uint16_t version);
 
@@ -506,7 +505,7 @@
   typedef std::shared_ptr> DIERefSetSP;
   typedef std::unordered_map NameToOffsetMap;
   NameToOffsetMap m_function_scope_qualified_name_map;
-  std::unique_ptr m_ranges;
+  std::unique_ptr m_ranges;
   UniqueDWARFASTTypeMap m_unique_ast_type_map;
   DIEToTypePtr m_die_to_type;
   DIEToVariableSP m_die_to_variable_sp;
Index: source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
===
--- source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
+++ source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
@@ -753,7 +753,7 @@
   return NULL;
 }
 
-DWARFDebugRanges *SymbolFileDWARF::DebugRanges() {
+DWARFDebugRangesBase *SymbolFileDWARF::DebugRanges() {
   if (m_ranges.get() == NULL) {
 static Timer::Category func_cat(LLVM_PRETTY_FUNCTION);
 Timer scoped_timer(func_cat, "%s this = %p", LLVM_PRETTY_FUNCTION,
@@ -770,7 +770,7 @@
   return m_ranges.get();
 }
 
-const DWARFDebugRanges *SymbolFileDWARF::DebugRanges() const {
+const DWARFDebugRangesBase *SymbolFileDWARF::DebugRanges() const {
   return m_ranges.get();
 }
 
@@ -3328,15 +3328,10 @@
   case DW_AT_start_scope: {
 if (form_value.Form() == DW_FORM_sec_offset) {
   DWARFRangeList dwarf_scope_ranges;
-  const DWARFDebugRanges *debug_ranges = DebugRanges();
-  debug_ranges->FindRanges(die.GetCU()->GetRangesBase(),
+  const DWARFDebugRangesBase *debug_ranges = DebugRanges();
+  debug_ranges->FindRanges(die.GetCU(),
form_value.Unsigned(),
dwarf_scope_ranges);
-
-  // All DW_AT_start_scope are relative to the base address of the
-  // compile unit. We add the compile unit base address to make
-  // sure all the addresses are properly fixed up.
-  dwarf_scope_ranges.Slide(die.GetCU()->GetBaseAddress());
 } else {
   // TODO: Handle the case when DW_AT_start_scope have form
   // constant. The
Index: source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h
===
--- source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h
+++ source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h
@@ -15,18 +15,26 @@
 
 #include 
 
-class DWARFDebugRanges {
+class DWARFDebugRangesBase {
+public:
+  virtual ~DWARFDebugRangesBase(){};
+
+  virtual void Extract(SymbolFileDWARF *dwarf2Data) = 0;
+  virtual bool FindRanges(const DWARFUnit *cu, dw_offset_t debug_ranges_offset,
+  DWARFRangeList &range_list) const = 0;
+};
+
+class DWARFDebugRanges final : public DWARFDebugRangesBase {
 public:
   DWARFDebugRanges();
-  virtual ~DWARFDebugRanges();
-  virtual void Extract(SymbolFileDWARF *dwarf2Data);
+
+  virtual void Extract(SymbolFileDWARF *dwarf2Data) override;
+  virtual bool FindRanges(const DWARFUnit *cu, dw_offset_t debug_ranges_offset,
+  DWARFRangeList &range_list) const override;
 
   static void Dump(lldb_private::Stream &s,
const lldb_private::DWARFDataExtractor &debug_ranges_data,
lldb::offset_t *offset_ptr, dw_addr_t cu_base_addr);
-  bool FindRanges(dw_addr_t debug_ranges_base,
-  dw_offset_t debug_ranges_offset,
-  DWARFRangeList &range_list) const;
 
 protected:
   bool Extract(SymbolFileDWARF *dwarf2Data, lldb::offset_t *offset_ptr,
@@ -39,16 +47,25 @@
 };
 
 // DWARF v5 .debug_rnglists section.
-class DWARFDebugRngLists : public DWARFDebugRanges {
+class DWARFDebugRngLists final : public DWARFDebugRangesBase {
+

[Lldb-commits] [PATCH] D53086: [PDB] Fix flaky `variables-locations.test` after PR38857

2018-10-18 Thread Aleksandr Urakov via Phabricator via lldb-commits
aleksandr.urakov added a comment.

In https://reviews.llvm.org/D53086#1267988, @labath wrote:

> The thing that's not clear to me is: are you specifically interested in 
> unwinding from these kinds of functions **without debug info**? Because it 
> sounds to me like the info Zachary provided is enough to unwind from these 
> functions, assuming debug info is present. And in this case there shouldn't 
> be any need for instruction emulation.


Yes, it seems that the info is enough to restore some of unwind plan rows, but 
not all of them. Here is an FPO table for the code above (compiled with `cl /Zi 
/GS- /c a.cpp`, linked with `link /nodefaultlib /debug:full /entry:main a.obj`):

  New FPO Data
  
RVA| Code | Locals | Params | Stack | Prolog | Saved Regs | Has SEH | 
Has C++EH | Start | Program
  1030 |   52 |512 |  4 | 0 | 31 |  0 |   false |   
  false |  true | $T0 $ebp = $T1 $ebx = $eip $T1 4 + ^ = $ebx $T1 ^ = $esp $T1 
8 + = $ebp $ebp ^ = 
  1070 |   65 |512 |  4 | 0 | 31 |  0 |   false |   
  false |  true | $T0 $ebp = $T1 $ebx = $eip $T1 4 + ^ = $ebx $T1 ^ = $esp $T1 
8 + = $ebp $ebp ^ = 
  10C0 |   20 |  0 |  0 | 0 |  3 |  0 |   false |   
  false |  true | $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = 

`1030` is the RVA of `foo`, `1070` - `bar`, `10C0` - `main`. So we can restore 
unwind rows for each function except for prologues and epilogues (however, I 
think that such restore is not so trivial too, we need to parse and convert an 
FPO program into a DWARF expression for each register). For prologues and 
epilogues we need to emulate instructions. And what about the problem with 
saved registers I've mentioned above? It seems exist on non-Windows too, and 
(correct me if I'm wrong, please) the unwind plan is restored from instruction 
emulation there for such cases? So we still need to support this in 
`x86AssemblyInspectionEngine`?


https://reviews.llvm.org/D53086



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D53402: [SymbolFileNativePDB] Fix missing linkage to DebugInfoCodeView

2018-10-18 Thread Michał Górny via Phabricator via lldb-commits
mgorny created this revision.
mgorny added a reviewer: zturner.
Herald added a subscriber: JDevlieghere.

Repository:
  rLLDB LLDB

https://reviews.llvm.org/D53402

Files:
  source/Plugins/SymbolFile/NativePDB/CMakeLists.txt


Index: source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
===
--- source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
+++ source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
@@ -11,6 +11,7 @@
 lldbSymbol
  lldbUtility
   LINK_COMPONENTS
+DebugInfoCodeView
 DebugInfoPDB
 Support
   )


Index: source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
===
--- source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
+++ source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
@@ -11,6 +11,7 @@
 lldbSymbol
 	  lldbUtility
   LINK_COMPONENTS
+DebugInfoCodeView
 DebugInfoPDB
 Support
   )
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] D53402: [SymbolFileNativePDB] Fix missing linkage to DebugInfoCodeView

2018-10-18 Thread Zachary Turner via lldb-commits
Lgtm
On Thu, Oct 18, 2018 at 8:03 AM Michał Górny via Phabricator <
revi...@reviews.llvm.org> wrote:

> mgorny created this revision.
> mgorny added a reviewer: zturner.
> Herald added a subscriber: JDevlieghere.
>
> Repository:
>   rLLDB LLDB
>
> https://reviews.llvm.org/D53402
>
> Files:
>   source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
>
>
> Index: source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
> ===
> --- source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
> +++ source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
> @@ -11,6 +11,7 @@
>  lldbSymbol
>   lldbUtility
>LINK_COMPONENTS
> +DebugInfoCodeView
>  DebugInfoPDB
>  Support
>)
>
>
>
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D53402: [SymbolFileNativePDB] Fix missing linkage to DebugInfoCodeView

2018-10-18 Thread Zachary Turner via Phabricator via lldb-commits
zturner added a subscriber: mgorny.
zturner added a comment.

Lgtm


Repository:
  rLLDB LLDB

https://reviews.llvm.org/D53402



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r344744 - [lldbsuite] Mark the TestScriptedResolver tests as XFAIL on Windows

2018-10-18 Thread Stella Stamenova via lldb-commits
Author: stella.stamenova
Date: Thu Oct 18 08:30:31 2018
New Revision: 344744

URL: http://llvm.org/viewvc/llvm-project?rev=344744&view=rev
Log:
[lldbsuite] Mark the TestScriptedResolver tests as XFAIL on Windows

Summary: They fail similarly to some of the other breakpoint tests on Windows, 
so I suspect the cause is the same. I've linked to the same bug.

Reviewers: asmith, zturner, jingham

Subscribers: abidh, lldb-commits

Differential Revision: https://reviews.llvm.org/D53331

Modified:

lldb/trunk/packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py

Modified: 
lldb/trunk/packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py?rev=344744&r1=344743&r2=344744&view=diff
==
--- 
lldb/trunk/packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
 (original)
+++ 
lldb/trunk/packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
 Thu Oct 18 08:30:31 2018
@@ -10,6 +10,7 @@ import time
 import re
 import lldb
 import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.decorators import *
 from lldbsuite.test.lldbtest import *
 
 
@@ -19,17 +20,20 @@ class TestScriptedResolver(TestBase):
 
 NO_DEBUG_INFO_TESTCASE = True
 
+@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24528")
 def test_scripted_resolver(self):
 """Use a scripted resolver to set a by symbol name breakpoint"""
 self.build()
 self.do_test()
 
+@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24528")
 def test_search_depths(self):
 """ Make sure we are called at the right depths depending on what we 
return
 from __get_depth__"""
 self.build()
 self.do_test_depths()
 
+@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24528")
 def test_command_line(self):
 """ Make sure we are called at the right depths depending on what we 
return
 from __get_depth__"""


___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D53331: [lldbsuite] Mark the TestScriptedResolver tests as XFAIL on Windows

2018-10-18 Thread Stella Stamenova via Phabricator via lldb-commits
This revision was not accepted when it landed; it landed in state "Needs 
Review".
This revision was automatically updated to reflect the committed changes.
Closed by commit rLLDB344744: [lldbsuite] Mark the TestScriptedResolver tests 
as XFAIL on Windows (authored by stella.stamenova, committed by ).

Repository:
  rLLDB LLDB

https://reviews.llvm.org/D53331

Files:
  
packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py


Index: 
packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
===
--- 
packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
+++ 
packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
@@ -10,6 +10,7 @@
 import re
 import lldb
 import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.decorators import *
 from lldbsuite.test.lldbtest import *
 
 
@@ -19,17 +20,20 @@
 
 NO_DEBUG_INFO_TESTCASE = True
 
+@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24528")
 def test_scripted_resolver(self):
 """Use a scripted resolver to set a by symbol name breakpoint"""
 self.build()
 self.do_test()
 
+@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24528")
 def test_search_depths(self):
 """ Make sure we are called at the right depths depending on what we 
return
 from __get_depth__"""
 self.build()
 self.do_test_depths()
 
+@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24528")
 def test_command_line(self):
 """ Make sure we are called at the right depths depending on what we 
return
 from __get_depth__"""


Index: packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
===
--- packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
+++ packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
@@ -10,6 +10,7 @@
 import re
 import lldb
 import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.decorators import *
 from lldbsuite.test.lldbtest import *
 
 
@@ -19,17 +20,20 @@
 
 NO_DEBUG_INFO_TESTCASE = True
 
+@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24528")
 def test_scripted_resolver(self):
 """Use a scripted resolver to set a by symbol name breakpoint"""
 self.build()
 self.do_test()
 
+@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24528")
 def test_search_depths(self):
 """ Make sure we are called at the right depths depending on what we return
 from __get_depth__"""
 self.build()
 self.do_test_depths()
 
+@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24528")
 def test_command_line(self):
 """ Make sure we are called at the right depths depending on what we return
 from __get_depth__"""
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] r344746 - [SymbolFileNativePDB] Fix missing linkage to DebugInfoCodeView

2018-10-18 Thread Michal Gorny via lldb-commits
Author: mgorny
Date: Thu Oct 18 08:39:22 2018
New Revision: 344746

URL: http://llvm.org/viewvc/llvm-project?rev=344746&view=rev
Log:
[SymbolFileNativePDB] Fix missing linkage to DebugInfoCodeView

Differential Revision: https://reviews.llvm.org/D53402

Modified:
lldb/trunk/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt

Modified: lldb/trunk/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt?rev=344746&r1=344745&r2=344746&view=diff
==
--- lldb/trunk/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt (original)
+++ lldb/trunk/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt Thu Oct 18 
08:39:22 2018
@@ -11,6 +11,7 @@ add_lldb_library(lldbPluginSymbolFileNat
 lldbSymbol
  lldbUtility
   LINK_COMPONENTS
+DebugInfoCodeView
 DebugInfoPDB
 Support
   )


___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D53402: [SymbolFileNativePDB] Fix missing linkage to DebugInfoCodeView

2018-10-18 Thread Michał Górny via Phabricator via lldb-commits
This revision was not accepted when it landed; it landed in state "Needs 
Review".
This revision was automatically updated to reflect the committed changes.
Closed by commit rL344746: [SymbolFileNativePDB] Fix missing linkage to 
DebugInfoCodeView (authored by mgorny, committed by ).
Herald added a subscriber: llvm-commits.

Changed prior to commit:
  https://reviews.llvm.org/D53402?vs=170088&id=170096#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D53402

Files:
  lldb/trunk/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt


Index: lldb/trunk/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
===
--- lldb/trunk/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
+++ lldb/trunk/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
@@ -11,6 +11,7 @@
 lldbSymbol
  lldbUtility
   LINK_COMPONENTS
+DebugInfoCodeView
 DebugInfoPDB
 Support
   )


Index: lldb/trunk/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
===
--- lldb/trunk/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
+++ lldb/trunk/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
@@ -11,6 +11,7 @@
 lldbSymbol
 	  lldbUtility
   LINK_COMPONENTS
+DebugInfoCodeView
 DebugInfoPDB
 Support
   )
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] D50478: Add support for artificial tail call frames

2018-10-18 Thread Stella Stamenova via lldb-commits
Hey Vedant,

I’ve attached the logs from Linux.

Most of the tests now pass on Windows with the exception of 
TestSteppingOutWithArtificialFrames and TestTailCallFrameSBAPI. Both of these 
attempt to get a specific frame by calling GetFrameAtIndex which only works 
partially on Windows right now. I think we should mark these as XFAIL on 
Windows and link them to: https://bugs.llvm.org/show_bug.cgi?id=26265.

Thanks,
-Stella

From: v...@apple.com 
Sent: Tuesday, October 16, 2018 11:17 AM
To: Stella Stamenova 
Cc: Frédéric Riss ; 
reviews+d50478+public+7e86b794a0909...@reviews.llvm.org; Adrian Prantl 
; paul.robin...@sony.com; jdevliegh...@apple.com; Jim Ingham 
; ztur...@google.com; abidh@gmail.com; 
teempe...@gmail.com; sgraen...@apple.com; mgr...@codeaurora.org; 
dblai...@gmail.com; lldb-commits@lists.llvm.org
Subject: Re: [PATCH] D50478: Add support for artificial tail call frames




On Oct 16, 2018, at 10:59 AM, Stella Stamenova 
mailto:sti...@microsoft.com>> wrote:

The windows error is because the names are different, as you expected:
AssertionError: 'void sink(void)' != 'sink()'
You can probably update the test to look for a different name on Windows 
(though if I recall correctly, different versions of the DIA sdk provide 
different detail on the names, so that might not be robust either) or look for 
a substring in the full name.

I used a substring check in r344634.



I’ll look into the Linux error as well and let you know what I find.

Thank you very much! I really appreciate your help and patience with this.

The "step" logging channel should provide detailed information about what goes 
wrong when parsing the DWARF for call site information and creating artificial 
frames.

vedant


From: v...@apple.com 
mailto:v...@apple.com>>
Sent: Monday, October 15, 2018 8:34 PM
To: Frédéric Riss mailto:fr...@apple.com>>
Cc: 
reviews+d50478+public+7e86b794a0909...@reviews.llvm.org;
 Adrian Prantl mailto:apra...@apple.com>>; 
paul.robin...@sony.com; 
jdevliegh...@apple.com; Jim Ingham 
mailto:jing...@apple.com>>; 
ztur...@google.com; Stella Stamenova 
mailto:sti...@microsoft.com>>; 
abidh@gmail.com; 
teempe...@gmail.com; 
sgraen...@apple.com; 
mgr...@codeaurora.org; 
dblai...@gmail.com; 
lldb-commits@lists.llvm.org
Subject: Re: [PATCH] D50478: Add support for artificial tail call frames



On Oct 15, 2018, at 4:46 PM, Frédéric Riss 
mailto:fr...@apple.com>> wrote:




On Oct 15, 2018, at 4:40 PM, Vedant Kumar 
mailto:v...@apple.com>> wrote:




On Oct 15, 2018, at 3:47 PM, Stella Stamenova via Phabricator 
mailto:revi...@reviews.llvm.org>> wrote:

stella.stamenova added a comment.

In 
https://reviews.llvm.org/D50478#1262717,
 @vsk wrote:



In 
https://reviews.llvm.org/D50478#1262710,
 @stella.stamenova wrote:



Unfortunately, the bots are broken because of the FileCheck issue, so I can't 
confirm with them, but I see a number of these tests fail in our local testing. 
Some fail on both Windows and Linux and some just fail on Linux. Here are the 
failing tests:

Linux:
lldb-Suite :: 
functionalities/tail_call_frames/disambiguate_call_site/TestDisambiguateCallSite.py
lldb-Suite :: 
functionalities/tail_call_frames/disambiguate_paths_to_common_sink/TestDisambiguatePathsToCommonSink.py
lldb-Suite :: 
functionalities/tail_call_frames/disambiguate_tail_call_seq/TestDisambiguateTailCallSeq.py
lldb-Suite :: 
functionalities/tail_call_frames/inlining_and_tail_calls/TestInliningAndTailCalls.py
lldb-Suite :: 
functionalities/tail_call_frames/sbapi_support/TestTailCallFrameSBAPI.py
lldb-Suite :: 
functionalities/tail_call_frames/thread_step_out_message/TestArtificialFrameStepOutMessage.py
lldb-Suite :: 
functionalities/tail_call_frames/unambiguous_sequence/TestUnambiguousTailCalls.py

Windows:
lldb-Suite :: 
functionalities/tail_call_frames/sbapi_support/TestTailCallFrameSBAPI.py
lldb-Suite :: 
functionalities/tail_call_frames/thread_step_out_or_return/TestSteppingOutWithArtificialFrames.py


Let me know what you need to investigate.


Strange, I didn't get

[Lldb-commits] [PATCH] D53412: [lldb] Fixed deadlock when SBProcess is Kill()ed and inspected

2018-10-18 Thread Cameron via Phabricator via lldb-commits
cameron314 created this revision.
cameron314 added reviewers: zturner, clayborg.
Herald added a subscriber: lldb-commits.

This patch changes the order that mutexes are acquired in SBProcess such that 
the target API mutex is now always acquired before the public run lock mutex is 
acquired.

This fixes a deadlock in LLDB when calling `SBProcess::Kill()` while calling 
e.g. `SBProcess::GetThreadByID()`: `Kill` takes the target API mutex, then 
waits for the private state thread to exit, which tries to lock the public run 
lock mutex, but it's already being held by `GetThreadByID`, which is waiting in 
turn for the target API mutex.


Repository:
  rLLDB LLDB

https://reviews.llvm.org/D53412

Files:
  source/API/SBProcess.cpp

Index: source/API/SBProcess.cpp
===
--- source/API/SBProcess.cpp
+++ source/API/SBProcess.cpp
@@ -197,11 +197,10 @@
   uint32_t num_threads = 0;
   ProcessSP process_sp(GetSP());
   if (process_sp) {
-Process::StopLocker stop_locker;
-
-const bool can_update = stop_locker.TryLock(&process_sp->GetRunLock());
 std::lock_guard guard(
 process_sp->GetTarget().GetAPIMutex());
+Process::StopLocker stop_locker;
+const bool can_update = stop_locker.TryLock(&process_sp->GetRunLock());
 num_threads = process_sp->GetThreadList().GetSize(can_update);
   }
 
@@ -457,10 +456,10 @@
   ThreadSP thread_sp;
   ProcessSP process_sp(GetSP());
   if (process_sp) {
-Process::StopLocker stop_locker;
-const bool can_update = stop_locker.TryLock(&process_sp->GetRunLock());
 std::lock_guard guard(
 process_sp->GetTarget().GetAPIMutex());
+Process::StopLocker stop_locker;
+const bool can_update = stop_locker.TryLock(&process_sp->GetRunLock());
 thread_sp = process_sp->GetThreadList().GetThreadAtIndex(index, can_update);
 sb_thread.SetThread(thread_sp);
   }
@@ -480,10 +479,10 @@
   uint32_t num_queues = 0;
   ProcessSP process_sp(GetSP());
   if (process_sp) {
+std::lock_guard guard(
+process_sp->GetTarget().GetAPIMutex());
 Process::StopLocker stop_locker;
 if (stop_locker.TryLock(&process_sp->GetRunLock())) {
-  std::lock_guard guard(
-  process_sp->GetTarget().GetAPIMutex());
   num_queues = process_sp->GetQueueList().GetSize();
 }
   }
@@ -502,10 +501,10 @@
   QueueSP queue_sp;
   ProcessSP process_sp(GetSP());
   if (process_sp) {
+std::lock_guard guard(
+process_sp->GetTarget().GetAPIMutex());
 Process::StopLocker stop_locker;
 if (stop_locker.TryLock(&process_sp->GetRunLock())) {
-  std::lock_guard guard(
-  process_sp->GetTarget().GetAPIMutex());
   queue_sp = process_sp->GetQueueList().GetQueueAtIndex(index);
   sb_queue.SetQueue(queue_sp);
 }
@@ -816,10 +815,10 @@
   ThreadSP thread_sp;
   ProcessSP process_sp(GetSP());
   if (process_sp) {
-Process::StopLocker stop_locker;
-const bool can_update = stop_locker.TryLock(&process_sp->GetRunLock());
 std::lock_guard guard(
 process_sp->GetTarget().GetAPIMutex());
+Process::StopLocker stop_locker;
+const bool can_update = stop_locker.TryLock(&process_sp->GetRunLock());
 thread_sp = process_sp->GetThreadList().FindThreadByID(tid, can_update);
 sb_thread.SetThread(thread_sp);
   }
@@ -839,10 +838,10 @@
   ThreadSP thread_sp;
   ProcessSP process_sp(GetSP());
   if (process_sp) {
-Process::StopLocker stop_locker;
-const bool can_update = stop_locker.TryLock(&process_sp->GetRunLock());
 std::lock_guard guard(
 process_sp->GetTarget().GetAPIMutex());
+Process::StopLocker stop_locker;
+const bool can_update = stop_locker.TryLock(&process_sp->GetRunLock());
 thread_sp =
 process_sp->GetThreadList().FindThreadByIndexID(index_id, can_update);
 sb_thread.SetThread(thread_sp);
@@ -959,10 +958,10 @@
 static_cast(sb_error.get()));
 
   if (process_sp) {
+std::lock_guard guard(
+process_sp->GetTarget().GetAPIMutex());
 Process::StopLocker stop_locker;
 if (stop_locker.TryLock(&process_sp->GetRunLock())) {
-  std::lock_guard guard(
-  process_sp->GetTarget().GetAPIMutex());
   bytes_read = process_sp->ReadMemory(addr, dst, dst_len, sb_error.ref());
 } else {
   if (log)
@@ -993,10 +992,10 @@
   size_t bytes_read = 0;
   ProcessSP process_sp(GetSP());
   if (process_sp) {
+std::lock_guard guard(
+process_sp->GetTarget().GetAPIMutex());
 Process::StopLocker stop_locker;
 if (stop_locker.TryLock(&process_sp->GetRunLock())) {
-  std::lock_guard guard(
-  process_sp->GetTarget().GetAPIMutex());
   bytes_read = process_sp->ReadCStringFromMemory(addr, (char *)buf, size,
  sb_error.ref());
 } else {
@@ -1018,10 +1017,10 @@
   uint64_t value = 0;
   ProcessSP process_sp(GetSP());
   if (process_sp) {
+std::lock_guard guard(
+pro

[Lldb-commits] [PATCH] D53415: [lldbsuite, windows] Disable two tail call frames tests that fail on Windows

2018-10-18 Thread Stella Stamenova via Phabricator via lldb-commits
stella.stamenova created this revision.
stella.stamenova added reviewers: asmith, vsk.
Herald added subscribers: lldb-commits, abidh.

These tests fail on Windows because of known limitations (a.k.a. bugs) with the 
current implementation of GetFrameAtIndex


Repository:
  rLLDB LLDB

https://reviews.llvm.org/D53415

Files:
  
packages/Python/lldbsuite/test/functionalities/tail_call_frames/sbapi_support/TestTailCallFrameSBAPI.py
  
packages/Python/lldbsuite/test/functionalities/tail_call_frames/thread_step_out_or_return/TestSteppingOutWithArtificialFrames.py


Index: 
packages/Python/lldbsuite/test/functionalities/tail_call_frames/thread_step_out_or_return/TestSteppingOutWithArtificialFrames.py
===
--- 
packages/Python/lldbsuite/test/functionalities/tail_call_frames/thread_step_out_or_return/TestSteppingOutWithArtificialFrames.py
+++ 
packages/Python/lldbsuite/test/functionalities/tail_call_frames/thread_step_out_or_return/TestSteppingOutWithArtificialFrames.py
@@ -4,6 +4,7 @@
 
 import lldb
 import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.decorators import *
 from lldbsuite.test.lldbtest import *
 
 class TestArtificialFrameThreadStepOut1(TestBase):
@@ -51,6 +52,7 @@
 #   frame #4: ... a.out`main at main.cpp:23:3 [opt]
 return thread
 
+@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr26265")
 def test_stepping_out_past_artificial_frame(self):
 self.build()
 thread = self.prepare_thread()
@@ -68,6 +70,7 @@
 self.assertEqual(frame4.GetDisplayFunctionName(), "main")
 self.assertFalse(frame2.IsArtificial())
 
+@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr26265")
 def test_return_past_artificial_frame(self):
 self.build()
 thread = self.prepare_thread()
Index: 
packages/Python/lldbsuite/test/functionalities/tail_call_frames/sbapi_support/TestTailCallFrameSBAPI.py
===
--- 
packages/Python/lldbsuite/test/functionalities/tail_call_frames/sbapi_support/TestTailCallFrameSBAPI.py
+++ 
packages/Python/lldbsuite/test/functionalities/tail_call_frames/sbapi_support/TestTailCallFrameSBAPI.py
@@ -4,6 +4,7 @@
 
 import lldb
 import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.decorators import *
 from lldbsuite.test.lldbtest import *
 
 class TestTailCallFrameSBAPI(TestBase):
@@ -14,6 +15,7 @@
 # each debug info format.
 NO_DEBUG_INFO_TESTCASE = True
 
+@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr26265")
 def test_tail_call_frame_sbapi(self):
 self.build()
 self.do_test()


Index: packages/Python/lldbsuite/test/functionalities/tail_call_frames/thread_step_out_or_return/TestSteppingOutWithArtificialFrames.py
===
--- packages/Python/lldbsuite/test/functionalities/tail_call_frames/thread_step_out_or_return/TestSteppingOutWithArtificialFrames.py
+++ packages/Python/lldbsuite/test/functionalities/tail_call_frames/thread_step_out_or_return/TestSteppingOutWithArtificialFrames.py
@@ -4,6 +4,7 @@
 
 import lldb
 import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.decorators import *
 from lldbsuite.test.lldbtest import *
 
 class TestArtificialFrameThreadStepOut1(TestBase):
@@ -51,6 +52,7 @@
 #   frame #4: ... a.out`main at main.cpp:23:3 [opt]
 return thread
 
+@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr26265")
 def test_stepping_out_past_artificial_frame(self):
 self.build()
 thread = self.prepare_thread()
@@ -68,6 +70,7 @@
 self.assertEqual(frame4.GetDisplayFunctionName(), "main")
 self.assertFalse(frame2.IsArtificial())
 
+@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr26265")
 def test_return_past_artificial_frame(self):
 self.build()
 thread = self.prepare_thread()
Index: packages/Python/lldbsuite/test/functionalities/tail_call_frames/sbapi_support/TestTailCallFrameSBAPI.py
===
--- packages/Python/lldbsuite/test/functionalities/tail_call_frames/sbapi_support/TestTailCallFrameSBAPI.py
+++ packages/Python/lldbsuite/test/functionalities/tail_call_frames/sbapi_support/TestTailCallFrameSBAPI.py
@@ -4,6 +4,7 @@
 
 import lldb
 import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.decorators import *
 from lldbsuite.test.lldbtest import *
 
 class TestTailCallFrameSBAPI(TestBase):
@@ -14,6 +15,7 @@
 # each debug info format.
 NO_DEBUG_INFO_TESTCASE = True
 
+@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr26265")
 def test_tail_call_frame_sbapi(self):
 self.build()
 self.do_test()
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/

[Lldb-commits] [PATCH] D52953: [lldb-mi] Implement -gdb-set breakpoint pending on/off

2018-10-18 Thread Marc-Andre Laperle via Phabricator via lldb-commits
malaperle added a comment.

Gentle ping?


Repository:
  rL LLVM

https://reviews.llvm.org/D52953



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D52953: [lldb-mi] Implement -gdb-set breakpoint pending on/off

2018-10-18 Thread Fangrui Song via Phabricator via lldb-commits
MaskRay added inline comments.



Comment at: tools/lldb-mi/MICmdCmdGdbSet.cpp:447
+bool CMICmdCmdGdbSet::OptionFnBreakpoint(
+  const CMIUtilString::VecString_t 
&vrWords) {
+bool bPending = false;

clang-format


Repository:
  rL LLVM

https://reviews.llvm.org/D52953



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D52953: [lldb-mi] Implement -gdb-set breakpoint pending on/off

2018-10-18 Thread Fangrui Song via Phabricator via lldb-commits
MaskRay added a comment.

And there is no reviewers set :)


Repository:
  rL LLVM

https://reviews.llvm.org/D52953



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D52953: [lldb-mi] Implement -gdb-set breakpoint pending on/off

2018-10-18 Thread Marc-Andre Laperle via Phabricator via lldb-commits
malaperle added a comment.

In https://reviews.llvm.org/D52953#1268810, @MaskRay wrote:

> And there is no reviewers set :)


I don't know who to add.


Repository:
  rL LLVM

https://reviews.llvm.org/D52953



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits