summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/functionalities/unwind/ehframe/main.c
diff options
context:
space:
mode:
authorNitesh Jain <nitesh.jain@imgtec.com>2016-09-09 10:20:08 +0000
committerNitesh Jain <nitesh.jain@imgtec.com>2016-09-09 10:20:08 +0000
commite9cb0d89c4e9224e2c3acac8b6aedff75000e2a9 (patch)
tree7e0228ee9e527990f7f536017dd11ed64e1d5b95 /lldb/packages/Python/lldbsuite/test/functionalities/unwind/ehframe/main.c
parent80dfec8ce3f9e2a70e8ce0130f55c41ccd951ac2 (diff)
downloadbcm5719-llvm-e9cb0d89c4e9224e2c3acac8b6aedff75000e2a9.tar.gz
bcm5719-llvm-e9cb0d89c4e9224e2c3acac8b6aedff75000e2a9.zip
[LLDB][MIPS] Fix TestEhFrameUnwind.py for MIPS
Reviewers: clayborg, labath Subscribers: jaydeep, bhushan, slthakur, lldb-commits Differential Revision: https://reviews.llvm.org/D24122 llvm-svn: 281031
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/functionalities/unwind/ehframe/main.c')
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/unwind/ehframe/main.c32
1 files changed, 29 insertions, 3 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/unwind/ehframe/main.c b/lldb/packages/Python/lldbsuite/test/functionalities/unwind/ehframe/main.c
index f62f7d814f3..ae8060124ab 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/unwind/ehframe/main.c
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/unwind/ehframe/main.c
@@ -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
+}
OpenPOWER on IntegriCloud