about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nptl/ChangeLog6
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h4
2 files changed, 8 insertions, 2 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 467086765d..164a9b38ae 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,9 @@
+2004-03-20  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (CENABLE): Save
+	the return value to a safe register.
+	(CDISABLE): Set the function argument correctly.
+
 2004-03-18  Ulrich Drepper  <drepper@redhat.com>
 
 	* sysdeps/unix/sysv/linux/internaltypes.h (struct pthread_attr): Add
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
index 3567dab588..ba2efbcba9 100644
--- a/nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
+++ b/nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
@@ -109,7 +109,7 @@
 	bsrf r0; \
 	 nop; \
      0: bra 2f; \
-	 nop; \
+	 mov r0,r2; \
 	.align 2; \
      1: .long __local_enable_asynccancel - 0b; \
      2:
@@ -117,7 +117,7 @@
 # define CDISABLE \
 	mov.l 1f,r0; \
 	bsrf r0; \
-	 nop; \
+	 mov r2,r4; \
      0: bra 2f; \
 	 nop; \
 	.align 2; \