diff options
Diffstat (limited to 'packages/Python/lldbsuite/test/functionalities/unwind/ehframe/main.c')
| -rw-r--r-- | packages/Python/lldbsuite/test/functionalities/unwind/ehframe/main.c | 32 | 
1 files changed, 29 insertions, 3 deletions
diff --git a/packages/Python/lldbsuite/test/functionalities/unwind/ehframe/main.c b/packages/Python/lldbsuite/test/functionalities/unwind/ehframe/main.c index f62f7d814f38..ae8060124ab2 100644 --- a/packages/Python/lldbsuite/test/functionalities/unwind/ehframe/main.c +++ b/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 +}  | 
