[Lldb-commits] [lldb] r281031 - [LLDB][MIPS] Fix TestEhFrameUnwind.py for MIPS

Nitesh Jain via lldb-commits lldb-commits at lists.llvm.org
Fri Sep 9 03:20:09 PDT 2016


Author: nitesh.jain
Date: Fri Sep  9 05:20:08 2016
New Revision: 281031

URL: http://llvm.org/viewvc/llvm-project?rev=281031&view=rev
Log:
[LLDB][MIPS] Fix TestEhFrameUnwind.py for MIPS

Reviewers: clayborg, labath

Subscribers: jaydeep, bhushan, slthakur, lldb-commits

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

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

Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/unwind/ehframe/main.c
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/unwind/ehframe/main.c?rev=281031&r1=281030&r2=281031&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/functionalities/unwind/ehframe/main.c (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/unwind/ehframe/main.c Fri Sep  9 05:20:08 2016
@@ -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
+}




More information about the lldb-commits mailing list