diff options
3 files changed, 3 insertions, 1 deletions
diff --git a/libc/sysdeps/linux/mips/vfork.S b/libc/sysdeps/linux/mips/vfork.S index b30744759..00cc675fa 100644 --- a/libc/sysdeps/linux/mips/vfork.S +++ b/libc/sysdeps/linux/mips/vfork.S @@ -84,6 +84,7 @@ NESTED(__vfork,FRAMESZ,sp) /* Something bad happened -- no child created. */ L(error): + move a0, v0 #ifdef __PIC__ PTR_LA t9, __syscall_error RESTORE_GP64 diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h index fc5177425..4d2c4052d 100644 --- a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h @@ -31,7 +31,7 @@ # undef PSEUDO # define PSEUDO(name, syscall_name, args) \ .align 2; \ - 99: \ + 99: move a0, v0; \ PTR_LA t9,__syscall_error; \ /* manual cpreturn. */ \ REG_L gp, STKOFF_GP(sp); \ diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/vfork.S b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/vfork.S index 7bbab5c59..238d79863 100644 --- a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/vfork.S +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/vfork.S @@ -80,6 +80,7 @@ NESTED(__vfork,FRAMESZ,sp) /* Something bad happened -- no child created. */ L(error): + move a0, v0 #ifdef __PIC__ PTR_LA t9, __syscall_error RESTORE_GP64 |