Re: [Lldb-commits] [lldb] r285068 - Revert "Improve the libstdc++ smart pointer formatters"

2016-10-26 Thread Pavel Labath via lldb-commits
Sorry, I forgot about the xcode project changes. I could have reverted
those as well.

pl

On 25 October 2016 at 22:49, Tim Hammerquist  wrote:
> Hi Pavel,
>
> Looks like some code left after this revert is still expecting this file
> (added contemporary to r284828) that was removed in this revision.
>
> --- lldb/trunk/source/Plugins/Language/CPlusPlus/LibStdcppSmartPointer.cpp
> (original)
> +++ lldb/trunk/source/Plugins/Language/CPlusPlus/LibStdcppSmartPointer.cpp
> (removed)
>
> This is causing the build to break. Does this require additional changes, or
> perhaps further reverts?
>
> -Tim
>
>
> On Tue, Oct 25, 2016 at 6:24 AM, Pavel Labath via lldb-commits
>  wrote:
>>
>> Author: labath
>> Date: Tue Oct 25 08:24:53 2016
>> New Revision: 285068
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=285068&view=rev
>> Log:
>> Revert "Improve the libstdc++ smart pointer formatters"
>>
>> This reverts commit r284828, as it causes an infinite loop in
>> TestPrintStackTraces (funnily enough, only when logging is enabled).
>>
>> Removed:
>> lldb/trunk/source/Plugins/Language/CPlusPlus/LibStdcppSmartPointer.cpp
>> Modified:
>>
>> lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/Makefile
>>
>> lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/TestDataFormatterStdSmartPtr.py
>> lldb/trunk/source/Plugins/Language/CPlusPlus/CMakeLists.txt
>> lldb/trunk/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
>>
>> Modified:
>> lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/Makefile
>> URL:
>> http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/Makefile?rev=285068&r1=285067&r2=285068&view=diff
>>
>> ==
>> ---
>> lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/Makefile
>> (original)
>> +++
>> lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/Makefile
>> Tue Oct 25 08:24:53 2016
>> @@ -2,7 +2,14 @@ LEVEL = ../../../../../make
>>
>>  CXX_SOURCES := main.cpp
>>
>> +CXXFLAGS := -O0
>>  USE_LIBSTDCPP := 1
>> -CFLAGS_EXTRAS += $(NO_LIMIT_DEBUG_INFO_FLAGS)
>> +
>> +# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD
>> +# targets.  Other targets do not, which causes this test to fail.
>> +# This flag enables FullDebugInfo for all targets.
>> +ifneq (,$(findstring clang,$(CC)))
>> +  CFLAGS_EXTRAS += -fno-limit-debug-info
>> +endif
>>
>>  include $(LEVEL)/Makefile.rules
>>
>> Modified:
>> lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/TestDataFormatterStdSmartPtr.py
>> URL:
>> http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/TestDataFormatterStdSmartPtr.py?rev=285068&r1=285067&r2=285068&view=diff
>>
>> ==
>> ---
>> lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/TestDataFormatterStdSmartPtr.py
>> (original)
>> +++
>> lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/TestDataFormatterStdSmartPtr.py
>> Tue Oct 25 08:24:53 2016
>> @@ -31,58 +31,19 @@ class StdSmartPtrDataFormatterTestCase(T
>>  substrs=['stopped', 'stop reason = breakpoint'])
>>
>>  self.expect("frame variable nsp", substrs=['nsp = nullptr'])
>> -self.expect("frame variable isp", substrs=['isp = 123',
>> 'strong=1', 'weak=1'])
>> -self.expect("frame variable ssp", substrs=['ssp = "foobar"',
>> 'strong=1', 'weak=1'])
>> -self.expect("frame variable nwp", substrs=['nwp = nullptr'])
>> -self.expect("frame variable iwp", substrs=['iwp = 123',
>> 'strong=1', 'weak=1'])
>> -self.expect("frame variable swp", substrs=['swp = "foobar"',
>> 'strong=1', 'weak=1'])
>> -
>> -frame = self.frame()
>> -self.assertTrue(frame.IsValid())
>> -
>> -self.assertEqual(0,
>> frame.GetValueForVariablePath("nsp.pointer").GetValueAsUnsigned())
>> -self.assertEqual(0,
>> frame.GetValueForVariablePath("nwp.pointer").GetValueAsUnsigned())
>> -
>> -self.assertNotEqual(0,
>> frame.GetValueForVariablePath("isp.pointer").GetValueAsUnsigned())
>> -self.assertEqual(123,
>> frame.GetValueForVariablePath("isp.object").GetValueAsUnsigned())
>> -self.assertEqual(1,
>> frame.GetValueForVariablePath("isp.count").GetValueAsUnsigned())
>> -self.assertEqual(1,
>> frame.GetValueForVariablePath("isp.weak_count").GetValueAsUnsign

[Lldb-commits] [lldb] r285187 - Don't set a software stepping breakpoint at 0 on arm or mips.

2016-10-26 Thread Pavel Labath via lldb-commits
Author: labath
Date: Wed Oct 26 06:13:56 2016
New Revision: 285187

URL: http://llvm.org/viewvc/llvm-project?rev=285187&view=rev
Log:
Don't set a software stepping breakpoint at 0 on arm or mips.

Summary:
Check whether the setting the breakpoint failed during instruction emulation. If
it did, the next pc is likely in unmapped memory, and the inferior will crash
anyway after the next instruction. Do not return an error in this case, but just
continue stepping.
Reenabled the crash during step test for android/linux.

Reviewers: labath

Subscribers: aemerson, rengolin, tberghammer, danalbert, srhines, lldb-commits

Differential Revision: https://reviews.llvm.org/D25926
Author: Jason Majors 

Modified:

lldb/trunk/packages/Python/lldbsuite/test/functionalities/thread/crash_during_step/TestCrashDuringStep.py
lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp

Modified: 
lldb/trunk/packages/Python/lldbsuite/test/functionalities/thread/crash_during_step/TestCrashDuringStep.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/thread/crash_during_step/TestCrashDuringStep.py?rev=285187&r1=285186&r2=285187&view=diff
==
--- 
lldb/trunk/packages/Python/lldbsuite/test/functionalities/thread/crash_during_step/TestCrashDuringStep.py
 (original)
+++ 
lldb/trunk/packages/Python/lldbsuite/test/functionalities/thread/crash_during_step/TestCrashDuringStep.py
 Wed Oct 26 06:13:56 2016
@@ -21,11 +21,6 @@ class CreateDuringStepTestCase(TestBase)
 self.breakpoint = line_number('main.cpp', '// Set breakpoint here')
 
 @expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24778")
-@expectedFailureAndroid("llvm.org/pr24497", archs=['arm', 'aarch64'])
-@expectedFailureAll(
-oslist=["linux"],
-archs=["arm"],
-bugnumber="llvm.org/pr24497")
 # IO error due to breakpoint at invalid address
 @expectedFailureAll(triple=re.compile('^mips'))
 def test_step_inst_with(self):

Modified: lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp?rev=285187&r1=285186&r2=285187&view=diff
==
--- lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp (original)
+++ lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp Wed Oct 26 
06:13:56 2016
@@ -1361,7 +1361,11 @@ Error NativeProcessLinux::SetupSoftwareS
 error = SetSoftwareBreakpoint(next_pc, 0);
   }
 
-  if (error.Fail())
+  // If setting the breakpoint fails because next_pc is out of
+  // the address space, ignore it and let the debugee segfault.
+  if (error.GetError() == EIO || error.GetError() == EFAULT) {
+return Error();
+  } else if (error.Fail())
 return error;
 
   m_threads_stepping_with_breakpoint.insert({thread.GetID(), next_pc});


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


[Lldb-commits] [PATCH] D25926: Don't set a software stepping breakpoint at 0 on arm or mips.

2016-10-26 Thread Pavel Labath via lldb-commits
labath accepted this revision.
labath added a comment.
This revision is now accepted and ready to land.

Thanks. I've committed this as r285187.


https://reviews.llvm.org/D25926



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


Re: [Lldb-commits] [lldb] r285068 - Revert "Improve the libstdc++ smart pointer formatters"

2016-10-26 Thread Jim Ingham via lldb-commits
For people who have a Mac and can make changes to the project files, we 
consider it polite and kind that they also fix up the project file when they 
add or remove source files.  But we also realize it isn't reasonable to require 
that somebody working on Linux, Windows, etc. have access to a Mac and know how 
to use Xcode.  So it's always been the policy that we watch these sorts of 
commits and fix them up if they need fixing.  If you don't have access to a 
Mac, it helps if you ping the list when you add or remove files; then we can 
get them fixed up w/o breaking any bots.

But there's no need to apologize.

Jim

> On Oct 26, 2016, at 4:03 AM, Pavel Labath via lldb-commits 
>  wrote:
> 
> Sorry, I forgot about the xcode project changes. I could have reverted
> those as well.
> 
> pl
> 
> On 25 October 2016 at 22:49, Tim Hammerquist  wrote:
>> Hi Pavel,
>> 
>> Looks like some code left after this revert is still expecting this file
>> (added contemporary to r284828) that was removed in this revision.
>> 
>> --- lldb/trunk/source/Plugins/Language/CPlusPlus/LibStdcppSmartPointer.cpp
>> (original)
>> +++ lldb/trunk/source/Plugins/Language/CPlusPlus/LibStdcppSmartPointer.cpp
>> (removed)
>> 
>> This is causing the build to break. Does this require additional changes, or
>> perhaps further reverts?
>> 
>> -Tim
>> 
>> 
>> On Tue, Oct 25, 2016 at 6:24 AM, Pavel Labath via lldb-commits
>>  wrote:
>>> 
>>> Author: labath
>>> Date: Tue Oct 25 08:24:53 2016
>>> New Revision: 285068
>>> 
>>> URL: http://llvm.org/viewvc/llvm-project?rev=285068&view=rev
>>> Log:
>>> Revert "Improve the libstdc++ smart pointer formatters"
>>> 
>>> This reverts commit r284828, as it causes an infinite loop in
>>> TestPrintStackTraces (funnily enough, only when logging is enabled).
>>> 
>>> Removed:
>>>lldb/trunk/source/Plugins/Language/CPlusPlus/LibStdcppSmartPointer.cpp
>>> Modified:
>>> 
>>> lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/Makefile
>>> 
>>> lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/TestDataFormatterStdSmartPtr.py
>>>lldb/trunk/source/Plugins/Language/CPlusPlus/CMakeLists.txt
>>>lldb/trunk/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
>>> 
>>> Modified:
>>> lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/Makefile
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/Makefile?rev=285068&r1=285067&r2=285068&view=diff
>>> 
>>> ==
>>> ---
>>> lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/Makefile
>>> (original)
>>> +++
>>> lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/Makefile
>>> Tue Oct 25 08:24:53 2016
>>> @@ -2,7 +2,14 @@ LEVEL = ../../../../../make
>>> 
>>> CXX_SOURCES := main.cpp
>>> 
>>> +CXXFLAGS := -O0
>>> USE_LIBSTDCPP := 1
>>> -CFLAGS_EXTRAS += $(NO_LIMIT_DEBUG_INFO_FLAGS)
>>> +
>>> +# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD
>>> +# targets.  Other targets do not, which causes this test to fail.
>>> +# This flag enables FullDebugInfo for all targets.
>>> +ifneq (,$(findstring clang,$(CC)))
>>> +  CFLAGS_EXTRAS += -fno-limit-debug-info
>>> +endif
>>> 
>>> include $(LEVEL)/Makefile.rules
>>> 
>>> Modified:
>>> lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/TestDataFormatterStdSmartPtr.py
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/TestDataFormatterStdSmartPtr.py?rev=285068&r1=285067&r2=285068&view=diff
>>> 
>>> ==
>>> ---
>>> lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/TestDataFormatterStdSmartPtr.py
>>> (original)
>>> +++
>>> lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/TestDataFormatterStdSmartPtr.py
>>> Tue Oct 25 08:24:53 2016
>>> @@ -31,58 +31,19 @@ class StdSmartPtrDataFormatterTestCase(T
>>> substrs=['stopped', 'stop reason = breakpoint'])
>>> 
>>> self.expect("frame variable nsp", substrs=['nsp = nullptr'])
>>> -self.expect("frame variable isp", substrs=['isp = 123',
>>> 'strong=1', 'weak=1'])
>>> -self.expect("frame variable ssp", substrs=['ssp = "foobar"',
>>> 'strong=1', 'weak=1'])
>>> -self.expect("frame variable nwp", substrs=['nwp = nullptr'])
>>> -self.expect("frame variable iwp", substrs=['iwp = 123',
>>> 'strong=1

[Lldb-commits] [lldb] r285216 - Actually use = delete to mark constructors and operators we want to not exist. Just declaring them as private works, but it can confuse certain tools as it doesn't actu

2016-10-26 Thread Enrico Granata via lldb-commits
Author: enrico
Date: Wed Oct 26 13:12:52 2016
New Revision: 285216

URL: http://llvm.org/viewvc/llvm-project?rev=285216&view=rev
Log:
Actually use = delete to mark constructors and operators we want to not exist. 
Just declaring them as private works, but it can confuse certain tools as it 
doesn't actually declare intent, and the C++11 way is more expressive anyway, 
so this is pure win

rdar://28960209


Modified:
lldb/trunk/include/lldb/lldb-defines.h

Modified: lldb/trunk/include/lldb/lldb-defines.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/lldb-defines.h?rev=285216&r1=285215&r2=285216&view=diff
==
--- lldb/trunk/include/lldb/lldb-defines.h (original)
+++ lldb/trunk/include/lldb/lldb-defines.h Wed Oct 26 13:12:52 2016
@@ -157,8 +157,8 @@
 /// assignment operators in C++ classes.
 //--
 #define DISALLOW_COPY_AND_ASSIGN(TypeName) 
\
-  TypeName(const TypeName &);  
\
-  const TypeName &operator=(const TypeName &)
+  TypeName(const TypeName &) = delete; 
\
+  const TypeName &operator=(const TypeName &) = delete
 
 #endif // #if defined(__cplusplus)
 


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


[Lldb-commits] [lldb] r285226 - Fix an issue where frame variable -s would not show the scope even though the user asked for it

2016-10-26 Thread Enrico Granata via lldb-commits
Author: enrico
Date: Wed Oct 26 14:17:49 2016
New Revision: 285226

URL: http://llvm.org/viewvc/llvm-project?rev=285226&view=rev
Log:
Fix an issue where frame variable -s  would not show the scope even 
though the user asked for it

Part of rdar://28434047


Added:
lldb/trunk/packages/Python/lldbsuite/test/functionalities/frame_var_scope/

lldb/trunk/packages/Python/lldbsuite/test/functionalities/frame_var_scope/Makefile

lldb/trunk/packages/Python/lldbsuite/test/functionalities/frame_var_scope/TestFrameVariableScope.py

lldb/trunk/packages/Python/lldbsuite/test/functionalities/frame_var_scope/main.c
Modified:

lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/unsigned_types/TestUnsignedTypes.py
lldb/trunk/source/Commands/CommandObjectFrame.cpp

Added: 
lldb/trunk/packages/Python/lldbsuite/test/functionalities/frame_var_scope/Makefile
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/frame_var_scope/Makefile?rev=285226&view=auto
==
--- 
lldb/trunk/packages/Python/lldbsuite/test/functionalities/frame_var_scope/Makefile
 (added)
+++ 
lldb/trunk/packages/Python/lldbsuite/test/functionalities/frame_var_scope/Makefile
 Wed Oct 26 14:17:49 2016
@@ -0,0 +1,3 @@
+LEVEL = ../../make
+C_SOURCES := main.c
+include $(LEVEL)/Makefile.rules

Added: 
lldb/trunk/packages/Python/lldbsuite/test/functionalities/frame_var_scope/TestFrameVariableScope.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/frame_var_scope/TestFrameVariableScope.py?rev=285226&view=auto
==
--- 
lldb/trunk/packages/Python/lldbsuite/test/functionalities/frame_var_scope/TestFrameVariableScope.py
 (added)
+++ 
lldb/trunk/packages/Python/lldbsuite/test/functionalities/frame_var_scope/TestFrameVariableScope.py
 Wed Oct 26 14:17:49 2016
@@ -0,0 +1,5 @@
+from lldbsuite.test import lldbinline
+from lldbsuite.test import decorators
+
+lldbinline.MakeInlineTest(
+__file__, globals(), [])

Added: 
lldb/trunk/packages/Python/lldbsuite/test/functionalities/frame_var_scope/main.c
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/frame_var_scope/main.c?rev=285226&view=auto
==
--- 
lldb/trunk/packages/Python/lldbsuite/test/functionalities/frame_var_scope/main.c
 (added)
+++ 
lldb/trunk/packages/Python/lldbsuite/test/functionalities/frame_var_scope/main.c
 Wed Oct 26 14:17:49 2016
@@ -0,0 +1,21 @@
+//===-- main.c --*- C++ 
-*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===--===//
+
+int foo(int x, int y) {
+int z = 3 + x;
+return z + y; //% self.expect("frame variable -s", substrs=['ARG: (int) x 
= -3','ARG: (int) y = 0'])
+ //% self.expect("frame variable -s x", substrs=['ARG: (int) x = -3'])
+ //% self.expect("frame variable -s y", substrs=['ARG: (int) y = 0'])
+ //% self.expect("frame variable -s z", substrs=['LOCAL: (int) z = 0'])
+}
+
+int main (int argc, char const *argv[])
+{
+return foo(-3,0);  //% self.expect("frame variable -s argc argv", 
substrs=['ARG: (int) argc ='])
+}

Modified: 
lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/unsigned_types/TestUnsignedTypes.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/unsigned_types/TestUnsignedTypes.py?rev=285226&r1=285225&r2=285226&view=diff
==
--- 
lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/unsigned_types/TestUnsignedTypes.py
 (original)
+++ 
lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/unsigned_types/TestUnsignedTypes.py
 Wed Oct 26 14:17:49 2016
@@ -55,9 +55,9 @@ class UnsignedTypesTestCase(TestBase):
 self.expect(
 "frame variable --show-types --no-args",
 VARIABLES_DISPLAYED_CORRECTLY,
-startstr="(unsigned char) the_unsigned_char = 'c'",
 patterns=["\((short unsigned int|unsigned short)\) 
the_unsigned_short = 99"],
 substrs=[
+"(unsigned char) the_unsigned_char = 'c'",
 "(unsigned int) the_unsigned_int = 99",
 "(unsigned long) the_unsigned_long = 99",
 "(unsigned long long) the_unsigned_long_long = 99",

Modified: lldb/trunk/source/Commands/CommandObjectFrame.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectFrame.cpp?rev=285226&r1=285225&r2=285226&view=diff
=

[Lldb-commits] [PATCH] D25864: Fix arm64 floating point register spill recording in UnwindPlan analysis

2016-10-26 Thread Jason Molenda via lldb-commits
jasonmolenda updated this revision to Diff 75977.
jasonmolenda added a comment.

I believe this rewrite of the original patch addresses Tamas' feedback (thanks 
Tamas!)  I dropped a lot of the changes in the original; I switch 
EmulateInstructionARM64 from using DWARF register numbering to use LLDB 
register numbering and I am using the numbers from lldb-arm64-register-enums.h. 
 I get the register definitions (size, etc) from RegisterInfos_arm64.h.

I also fix the original bug that I was doing this for - to recognize the callee 
saves of the floating point register spills.  And added a unit test to test for 
that.

Tamas, when you have a minute could you look at this again and let me know what 
you think?  Thanks.


Repository:
  rL LLVM

https://reviews.llvm.org/D25864

Files:
  source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
  unittests/UnwindAssembly/InstEmulation/TestArm64InstEmulation.cpp

Index: unittests/UnwindAssembly/InstEmulation/TestArm64InstEmulation.cpp
===
--- unittests/UnwindAssembly/InstEmulation/TestArm64InstEmulation.cpp
+++ unittests/UnwindAssembly/InstEmulation/TestArm64InstEmulation.cpp
@@ -14,7 +14,6 @@
 #include 
 
 #include "Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h"
-#include "Utility/ARM64_DWARF_Registers.h"
 
 #include "lldb/Core/Address.h"
 #include "lldb/Core/AddressRange.h"
@@ -24,6 +23,7 @@
 
 #include "Plugins/Disassembler/llvm/DisassemblerLLVMC.h"
 #include "Plugins/Instruction/ARM64/EmulateInstructionARM64.h"
+#include "Plugins/Process/Utility/lldb-arm64-register-enums.h"
 #include "llvm/Support/TargetSelect.h"
 
 using namespace lldb;
@@ -93,7 +93,7 @@
   // CFA=sp +0
   row_sp = unwind_plan.GetRowForFunctionOffset(0);
   EXPECT_EQ(0ull, row_sp->GetOffset());
-  EXPECT_TRUE(row_sp->GetCFAValue().GetRegisterNumber() == arm64_dwarf::sp);
+  EXPECT_TRUE(row_sp->GetCFAValue().GetRegisterNumber() == gpr_sp_arm64);
   EXPECT_TRUE(row_sp->GetCFAValue().IsRegisterPlusOffset() == true);
   EXPECT_EQ(0, row_sp->GetCFAValue().GetOffset());
 
@@ -100,15 +100,15 @@
   // CFA=sp+16 => fp=[CFA-16] lr=[CFA-8]
   row_sp = unwind_plan.GetRowForFunctionOffset(4);
   EXPECT_EQ(4ull, row_sp->GetOffset());
-  EXPECT_TRUE(row_sp->GetCFAValue().GetRegisterNumber() == arm64_dwarf::sp);
+  EXPECT_TRUE(row_sp->GetCFAValue().GetRegisterNumber() == gpr_sp_arm64);
   EXPECT_TRUE(row_sp->GetCFAValue().IsRegisterPlusOffset() == true);
   EXPECT_EQ(16, row_sp->GetCFAValue().GetOffset());
 
-  EXPECT_TRUE(row_sp->GetRegisterInfo(arm64_dwarf::fp, regloc));
+  EXPECT_TRUE(row_sp->GetRegisterInfo(gpr_fp_arm64, regloc));
   EXPECT_TRUE(regloc.IsAtCFAPlusOffset());
   EXPECT_EQ(-16, regloc.GetOffset());
 
-  EXPECT_TRUE(row_sp->GetRegisterInfo(arm64_dwarf::lr, regloc));
+  EXPECT_TRUE(row_sp->GetRegisterInfo(gpr_lr_arm64, regloc));
   EXPECT_TRUE(regloc.IsAtCFAPlusOffset());
   EXPECT_EQ(-8, regloc.GetOffset());
 
@@ -115,15 +115,15 @@
   // CFA=fp+16 => fp=[CFA-16] lr=[CFA-8]
   row_sp = unwind_plan.GetRowForFunctionOffset(8);
   EXPECT_EQ(8ull, row_sp->GetOffset());
-  EXPECT_TRUE(row_sp->GetCFAValue().GetRegisterNumber() == arm64_dwarf::fp);
+  EXPECT_TRUE(row_sp->GetCFAValue().GetRegisterNumber() == gpr_fp_arm64);
   EXPECT_TRUE(row_sp->GetCFAValue().IsRegisterPlusOffset() == true);
   EXPECT_EQ(16, row_sp->GetCFAValue().GetOffset());
 
-  EXPECT_TRUE(row_sp->GetRegisterInfo(arm64_dwarf::fp, regloc));
+  EXPECT_TRUE(row_sp->GetRegisterInfo(gpr_fp_arm64, regloc));
   EXPECT_TRUE(regloc.IsAtCFAPlusOffset());
   EXPECT_EQ(-16, regloc.GetOffset());
 
-  EXPECT_TRUE(row_sp->GetRegisterInfo(arm64_dwarf::lr, regloc));
+  EXPECT_TRUE(row_sp->GetRegisterInfo(gpr_lr_arm64, regloc));
   EXPECT_TRUE(regloc.IsAtCFAPlusOffset());
   EXPECT_EQ(-8, regloc.GetOffset());
 
@@ -130,15 +130,15 @@
   // CFA=sp+16 => fp=[CFA-16] lr=[CFA-8]
   row_sp = unwind_plan.GetRowForFunctionOffset(16);
   EXPECT_EQ(16ull, row_sp->GetOffset());
-  EXPECT_TRUE(row_sp->GetCFAValue().GetRegisterNumber() == arm64_dwarf::sp);
+  EXPECT_TRUE(row_sp->GetCFAValue().GetRegisterNumber() == gpr_sp_arm64);
   EXPECT_TRUE(row_sp->GetCFAValue().IsRegisterPlusOffset() == true);
   EXPECT_EQ(16, row_sp->GetCFAValue().GetOffset());
 
-  EXPECT_TRUE(row_sp->GetRegisterInfo(arm64_dwarf::fp, regloc));
+  EXPECT_TRUE(row_sp->GetRegisterInfo(gpr_fp_arm64, regloc));
   EXPECT_TRUE(regloc.IsAtCFAPlusOffset());
   EXPECT_EQ(-16, regloc.GetOffset());
 
-  EXPECT_TRUE(row_sp->GetRegisterInfo(arm64_dwarf::lr, regloc));
+  EXPECT_TRUE(row_sp->GetRegisterInfo(gpr_lr_arm64, regloc));
   EXPECT_TRUE(regloc.IsAtCFAPlusOffset());
   EXPECT_EQ(-8, regloc.GetOffset());
 
@@ -145,7 +145,7 @@
   // CFA=sp +0 => fp=  lr= 
   row_sp = unwind_plan.GetRowForFunctionOffset(20);
   EXPECT_EQ(20ull, row_sp->GetOffset());
-  EXPECT_TRUE(row_sp->GetCFAValue().GetRegisterNumber() == arm64_dwarf::sp);
+  EXPECT_TRUE(row_sp->GetCFAValue().GetRegisterNumber() == gpr_sp_arm64);
   EXPECT_T