[LLDB][MIPS] Fix TestEhFrameUnwind.py for MIPS
authorNitesh Jain <nitesh.jain@imgtec.com>
Fri, 9 Sep 2016 10:20:08 +0000 (10:20 +0000)
committerNitesh Jain <nitesh.jain@imgtec.com>
Fri, 9 Sep 2016 10:20:08 +0000 (10:20 +0000)
Reviewers: clayborg, labath

Subscribers: jaydeep, bhushan, slthakur, lldb-commits

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

llvm-svn: 281031

lldb/packages/Python/lldbsuite/test/functionalities/unwind/ehframe/main.c

index f62f7d8..ae80601 100644 (file)
@@ -1,4 +1,6 @@
 void func() {
+
+#ifndef __mips__
        __asm__ (
                "pushq $0x10;"
                ".cfi_def_cfa_offset 16;"
@@ -10,11 +12,35 @@ void func() {
                "movq $0x48, %rax;"
                "popq %rax;"
        );
-
+#elif __mips64
+   __asm__ (
+    "daddiu $sp,$sp,-16;"
+    ".cfi_def_cfa_offset 16;"
+    "sd $ra,8($sp);"
+    ".cfi_offset 31, -8;"
+    "daddiu $ra,$zero,0;"
+    "ld $ra,8($sp);"
+    "daddiu $sp, $sp,16;"
+    ".cfi_restore 31;"
+    ".cfi_def_cfa_offset 0;"
+   );
+#else
+   // For MIPS32
+   __asm__ (
+    "addiu $sp,$sp,-8;"
+    ".cfi_def_cfa_offset 8;"
+    "sw $ra,4($sp);"
+    ".cfi_offset 31, -4;"
+    "addiu $ra,$zero,0;"
+    "lw $ra,4($sp);"
+    "addiu $sp,$sp,8;"
+    ".cfi_restore 31;"
+    ".cfi_def_cfa_offset 0;"
+   );
+#endif
 }
 
-
 int main(int argc, char const *argv[])
 {
        func();
-}
\ No newline at end of file
+}