summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/functionalities
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/functionalities')
-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