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