55 lines
2.3 KiB
Diff
55 lines
2.3 KiB
Diff
|
Index: linuxthreads/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h
|
||
|
===================================================================
|
||
|
RCS file: /cvs/glibc/libc/linuxthreads/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h,v
|
||
|
retrieving revision 1.2
|
||
|
diff -u -r1.2 sysdep-cancel.h
|
||
|
--- linuxthreads/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h 28 Jul 2003 18:45:37 -0000 1.2
|
||
|
+++ linuxthreads/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h 1 Jun 2004 17:19:08 -0000
|
||
|
@@ -27,9 +27,6 @@
|
||
|
#ifdef __PIC__
|
||
|
# undef PSEUDO
|
||
|
# define PSEUDO(name, syscall_name, args) \
|
||
|
- .align 2; \
|
||
|
- 99: la t9,__syscall_error; \
|
||
|
- jr t9; \
|
||
|
ENTRY (name) \
|
||
|
.set noreorder; \
|
||
|
.cpload t9; \
|
||
|
@@ -44,25 +41,25 @@
|
||
|
ret; \
|
||
|
L(pseudo_cancel): \
|
||
|
SAVESTK_##args; \
|
||
|
- sw ra, 28(sp); \
|
||
|
- sw gp, 32(sp); \
|
||
|
+ sw gp, 28(sp); \
|
||
|
+ sw ra, 32(sp); \
|
||
|
PUSHARGS_##args; /* save syscall args */ \
|
||
|
CENABLE; \
|
||
|
- lw gp, 32(sp); \
|
||
|
- sw v0, 44(sp); /* save mask */ \
|
||
|
+ lw gp, 28(sp); \
|
||
|
+ sw v0, 36(sp); /* save mask */ \
|
||
|
POPARGS_##args; /* restore syscall args */ \
|
||
|
.set noreorder; \
|
||
|
li v0, SYS_ify (syscall_name); \
|
||
|
syscall; \
|
||
|
.set reorder; \
|
||
|
- sw v0, 36(sp); /* save syscall result */ \
|
||
|
- sw a3, 40(sp); /* save syscall error flag */ \
|
||
|
- lw a0, 44(sp); /* pass mask as arg1 */ \
|
||
|
+ sw v0, 40(sp); /* save syscall result */ \
|
||
|
+ sw a3, 44(sp); /* save syscall error flag */ \
|
||
|
+ lw a0, 36(sp); /* pass mask as arg1 */ \
|
||
|
CDISABLE; \
|
||
|
- lw gp, 32(sp); \
|
||
|
- lw v0, 36(sp); /* restore syscall result */ \
|
||
|
- lw a3, 40(sp); /* restore syscall error flag */ \
|
||
|
- lw ra, 28(sp); /* restore return address */ \
|
||
|
+ lw gp, 28(sp); \
|
||
|
+ lw v0, 40(sp); /* restore syscall result */ \
|
||
|
+ lw a3, 44(sp); /* restore syscall error flag */ \
|
||
|
+ lw ra, 32(sp); /* restore return address */ \
|
||
|
RESTORESTK; \
|
||
|
bne a3, zero, SYSCALL_ERROR_LABEL; \
|
||
|
L(pseudo_end):
|