summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/mips/sysdep.h
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/mips/sysdep.h')
-rw-r--r--libc/sysdeps/linux/mips/sysdep.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/libc/sysdeps/linux/mips/sysdep.h b/libc/sysdeps/linux/mips/sysdep.h
index 0860c1a48..9de4f1ace 100644
--- a/libc/sysdeps/linux/mips/sysdep.h
+++ b/libc/sysdeps/linux/mips/sysdep.h
@@ -98,7 +98,8 @@
#ifdef __PIC__
#define PSEUDO(name, syscall_name, args) \
.align 2; \
- 99: la t9,__syscall_error; \
+ 99: move a0, v0; \
+ la t9,__syscall_error; \
jr t9; \
ENTRY(name) \
.set noreorder; \
@@ -112,7 +113,8 @@ L(syse1):
#define PSEUDO(name, syscall_name, args) \
.set noreorder; \
.align 2; \
- 99: j __syscall_error; \
+ 99: move a0, v0; \
+ j __syscall_error; \
nop; \
ENTRY(name) \
.set noreorder; \