Adapt some tests to work with PPC64le architecture
authorPavel Labath <labath@google.com>
Wed, 28 Feb 2018 20:57:26 +0000 (20:57 +0000)
committerPavel Labath <labath@google.com>
Wed, 28 Feb 2018 20:57:26 +0000 (20:57 +0000)
Summary: Merge branch 'master' into adaptPPC64tests

Reviewers: clayborg, alexandreyy, labath

Reviewed By: clayborg, alexandreyy

Subscribers: luporl, lbianc, alexandreyy, lldb-commits

Differential Revision: https://reviews.llvm.org/D42917
Patch by Ana Julia Caetano <ana.caetano@eldorado.org.br>.

llvm-svn: 326369

lldb/packages/Python/lldbsuite/test/functionalities/watchpoint/multiple_hits/TestMultipleHits.py
lldb/packages/Python/lldbsuite/test/lang/c/register_variables/test.c
lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
lldb/packages/Python/lldbsuite/test/tools/lldb-server/TestLldbGdbServer.py

index 962ba34..7302f76 100644 (file)
@@ -21,7 +21,7 @@ class MultipleHitsTestCase(TestBase):
     @expectedFailureAll(
         oslist=["windows"],
         bugnumber="llvm.org/pr24446: WINDOWS XFAIL TRIAGE - Watchpoints not supported on Windows")
-    @skipIf(bugnumber="llvm.org/pr30758", oslist=["linux"], archs=["arm", "aarch64"])
+    @skipIf(bugnumber="llvm.org/pr30758", oslist=["linux"], archs=["arm", "aarch64", "powerpc64le"])
     def test(self):
         self.build()
         exe = self.getBuildArtifact("a.out")
index f7fb1af..2c69039 100644 (file)
@@ -1,6 +1,6 @@
 #include <stdio.h>
 
-#if defined(__arm__) || defined(__aarch64__) || defined (__mips__)
+#if defined(__arm__) || defined(__aarch64__) || defined (__mips__) || defined(__powerpc64__)
 // Clang does not accept regparm attribute on these platforms.
 // Fortunately, the default calling convention passes arguments in registers
 // anyway.
index 8738123..940b01e 100644 (file)
@@ -33,6 +33,8 @@ def check_first_register_readable(test_case):
         test_case.expect("register read zero", substrs=['zero = 0x'])
     elif arch in ['s390x']:
         test_case.expect("register read r0", substrs=['r0 = 0x'])
+    elif arch in ['powerpc64le']:
+        test_case.expect("register read r0", substrs=['r0 = 0x'])
     else:
         # TODO: Add check for other architectures
         test_case.fail(
index fd01155..2a79b74 100644 (file)
@@ -330,8 +330,9 @@ class LldbGdbServerTestCase(gdbremote_testcase.GdbRemoteTestCaseBase, DwarfOpcod
         # Ensure we have a program counter register.
         self.assertTrue('pc' in generic_regs)
 
-        # Ensure we have a frame pointer register.
-        self.assertTrue('fp' in generic_regs)
+        # Ensure we have a frame pointer register. PPC64le's FP is the same as SP
+        if(self.getArchitecture() != 'powerpc64le'):
+            self.assertTrue('fp' in generic_regs)
 
         # Ensure we have a stack pointer register.
         self.assertTrue('sp' in generic_regs)