summaryrefslogtreecommitdiff
blob: 0e70b8ddf1ad657056294ff6242ec96267fafffa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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):