From 696ce3770b741ef7f913b5eda73f0b2fda24e75c Mon Sep 17 00:00:00 2001 From: Stella Stamenova Date: Mon, 2 Jul 2018 21:50:31 +0000 Subject: [lldbsuite, windows] Don't crash LLDB when we try to retrieve a register on Windows Summary: 1) When ReadRegister is called with a null register into on Windows, rather than crashing due to an access violation, simply return false. Not all registers and properties will be read or calculated correctly, but that is consistent with other platforms that also return false in that case 2) Update a couple of tests to reference pr37995 as their reason for failure since it is much more accurate. Support for floating point registers doesn't exist on Windows at all, rather than having issues. Reviewers: asmith, labath, zturner Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D48844 llvm-svn: 336147 --- .../test/functionalities/register/intel_avx/TestYMMRegister.py | 1 + .../test/functionalities/register/register_command/TestRegisters.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'lldb/packages/Python/lldbsuite/test/functionalities') diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/register/intel_avx/TestYMMRegister.py b/lldb/packages/Python/lldbsuite/test/functionalities/register/intel_avx/TestYMMRegister.py index 0f497536e41..d362e6a8ae3 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/register/intel_avx/TestYMMRegister.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/register/intel_avx/TestYMMRegister.py @@ -22,6 +22,7 @@ class TestYMMRegister(TestBase): @skipIfTargetAndroid() @skipIf(archs=no_match(['i386', 'x86_64'])) @expectedFailureAll(oslist=["linux"], bugnumber="rdar://30523153") + @expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr37995") def test(self): self.build(dictionary={"CFLAGS_EXTRAS": "-march=haswell"}) self.setTearDownCleanup() diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/register/register_command/TestRegisters.py b/lldb/packages/Python/lldbsuite/test/functionalities/register/register_command/TestRegisters.py index 14979c4d650..41e56643872 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/register/register_command/TestRegisters.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/register/register_command/TestRegisters.py @@ -59,7 +59,7 @@ class RegisterCommandsTestCase(TestBase): # problem @skipIfTargetAndroid(archs=["i386"]) @skipIf(archs=no_match(['amd64', 'arm', 'i386', 'x86_64'])) - @expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr37683") + @expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr37995") def test_fp_register_write(self): """Test commands that write to registers, in particular floating-point registers.""" self.build() @@ -71,7 +71,7 @@ class RegisterCommandsTestCase(TestBase): @skipIfFreeBSD # llvm.org/pr25057 @skipIf(archs=no_match(['amd64', 'i386', 'x86_64'])) @skipIfOutOfTreeDebugserver - @expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr37683") + @expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr37995") def test_fp_special_purpose_register_read(self): """Test commands that read fpu special purpose registers.""" self.build() -- cgit v1.2.3