aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads
diff options
context:
space:
mode:
Diffstat (limited to 'linuxthreads')
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h22
2 files changed, 16 insertions, 11 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 22e930554e..fc18d161fb 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,8 @@
+2003-10-02 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Fix saving and
+ restoring of the old cancellation type.
+
2003-09-10 Chris Demetriou <cgd@broadcom.com>
* sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h: New file.
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h b/linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
index e84c98d82c..fae701aefe 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
+++ b/linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
@@ -49,12 +49,12 @@
jae SYSCALL_ERROR_LABEL; \
L(pseudo_end):
-# define SAVE_OLDTYPE_0 movl %eax, %edx;
-# define SAVE_OLDTYPE_1 SAVE_OLDTYPE_0
-# define SAVE_OLDTYPE_2 pushl %eax;
-# define SAVE_OLDTYPE_3 SAVE_OLDTYPE_2
-# define SAVE_OLDTYPE_4 SAVE_OLDTYPE_2
-# define SAVE_OLDTYPE_5 SAVE_OLDTYPE_2
+# define SAVE_OLDTYPE_0 movl %eax, %ecx;
+# define SAVE_OLDTYPE_1 pushl %eax;
+# define SAVE_OLDTYPE_2 SAVE_OLDTYPE_1
+# define SAVE_OLDTYPE_3 SAVE_OLDTYPE_1
+# define SAVE_OLDTYPE_4 SAVE_OLDTYPE_1
+# define SAVE_OLDTYPE_5 SAVE_OLDTYPE_1
# define PUSHCARGS_0 /* No arguments to push. */
# define DOCARGS_0 /* No arguments to frob. */
@@ -100,11 +100,11 @@
# define CDISABLE call __libc_disable_asynccancel
# endif
# define POPSTATE_0 pushl %eax; movl %ecx, %eax; CDISABLE; popl %eax;
-# define POPSTATE_1 POPSTATE_0
-# define POPSTATE_2 xchgl (%esp), %eax; CDISABLE; popl %eax;
-# define POPSTATE_3 POPSTATE_2
-# define POPSTATE_4 POPSTATE_2
-# define POPSTATE_5 POPSTATE_2
+# define POPSTATE_1 xchgl (%esp), %eax; CDISABLE; popl %eax;
+# define POPSTATE_2 POPSTATE_1
+# define POPSTATE_3 POPSTATE_1
+# define POPSTATE_4 POPSTATE_1
+# define POPSTATE_5 POPSTATE_1
#if !defined NOT_IN_libc
# define __local_multiple_threads __libc_multiple_threads