linamh/sys-libs/glibc/files/2.3.4/glibc-2.3.4-mips-sysdep-cancel.diff
2009-09-12 08:46:08 +00:00

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):