diff options
author | Nitesh Jain <nitesh.jain@imgtec.com> | 2016-09-09 10:20:08 +0000 |
---|---|---|
committer | Nitesh Jain <nitesh.jain@imgtec.com> | 2016-09-09 10:20:08 +0000 |
commit | e9cb0d89c4e9224e2c3acac8b6aedff75000e2a9 (patch) | |
tree | 7e0228ee9e527990f7f536017dd11ed64e1d5b95 /lldb/packages/Python/lldbsuite/test/functionalities/unwind/ehframe/main.c | |
parent | 80dfec8ce3f9e2a70e8ce0130f55c41ccd951ac2 (diff) | |
download | bcm5719-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.c | 32 |
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 +} |