From e9cb0d89c4e9224e2c3acac8b6aedff75000e2a9 Mon Sep 17 00:00:00 2001 From: Nitesh Jain Date: Fri, 9 Sep 2016 10:20:08 +0000 Subject: [PATCH] [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 --- .../test/functionalities/unwind/ehframe/main.c | 32 ++++++++++++++++++++-- 1 file 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 f62f7d8..ae80601 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 +} -- 2.7.4