2003-04-13 Jakub Jelinek <jakub@redhat.com>
authorRoland McGrath <roland@gnu.org>
Sun, 13 Apr 2003 22:57:45 +0000 (22:57 +0000)
committerRoland McGrath <roland@gnu.org>
Sun, 13 Apr 2003 22:57:45 +0000 (22:57 +0000)
* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Rename macros to
match changes in NPTL sysdep-cancel.h.

linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h

index 6189b7b..3fdec5d 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@redhat.com>, 2002.
 
   L(pseudo_cancel):                                                          \
     CENABLE                                                                  \
     SAVE_OLDTYPE_##args                                                              \
-    PUSHARGS_##args                                                          \
+    PUSHCARGS_##args                                                         \
     DOCARGS_##args                                                           \
     movl $SYS_ify (syscall_name), %eax;                                              \
     int $0x80                                                                \
-    POPARGS_##args;                                                          \
-    POPCARGS_##args                                                          \
+    POPCARGS_##args;                                                         \
+    POPSTATE_##args                                                          \
     cmpl $-4095, %eax;                                                       \
     jae SYSCALL_ERROR_LABEL;                                                 \
   L(pseudo_end):
 # define SAVE_OLDTYPE_4        SAVE_OLDTYPE_2
 # define SAVE_OLDTYPE_5        SAVE_OLDTYPE_2
 
-# define DOCARGS_0     DOARGS_0
-# define DOCARGS_1     DOARGS_1
+# define PUSHCARGS_0   /* No arguments to push.  */
+# define DOCARGS_0     /* No arguments to frob.  */
+# define POPCARGS_0    /* No arguments to pop.  */
+# define _PUSHCARGS_0  /* No arguments to push.  */
+# define _POPCARGS_0   /* No arguments to pop.  */
+
+# define PUSHCARGS_1   movl %ebx, %edx; PUSHCARGS_0
+# define DOCARGS_1     _DOARGS_1 (4)
+# define POPCARGS_1    POPCARGS_0; movl %edx, %ebx
+# define _PUSHCARGS_1  pushl %ebx; L(PUSHBX2): _PUSHCARGS_0
+# define _POPCARGS_1   _POPCARGS_0; popl %ebx; L(POPBX2):
+
+# define PUSHCARGS_2   PUSHCARGS_1
 # define DOCARGS_2     _DOARGS_2 (12)
+# define POPCARGS_2    POPCARGS_1
+# define _PUSHCARGS_2  _PUSHCARGS_1
+# define _POPCARGS_2   _POPCARGS_1
+
+# define PUSHCARGS_3   _PUSHCARGS_2
 # define DOCARGS_3     _DOARGS_3 (20)
+# define POPCARGS_3    _POPCARGS_3
+# define _PUSHCARGS_3  _PUSHCARGS_2
+# define _POPCARGS_3   _POPCARGS_2
+
+# define PUSHCARGS_4   _PUSHCARGS_4
 # define DOCARGS_4     _DOARGS_4 (28)
+# define POPCARGS_4    _POPCARGS_4
+# define _PUSHCARGS_4  pushl %esi; L(PUSHSI2): _PUSHCARGS_3
+# define _POPCARGS_4   _POPCARGS_3; popl %esi; L(POPSI2):
+
+# define PUSHCARGS_5   _PUSHCARGS_5
 # define DOCARGS_5     _DOARGS_5 (36)
+# define POPCARGS_5    _POPCARGS_5
+# define _PUSHCARGS_5  pushl %edi; L(PUSHDI2): _PUSHCARGS_4
+# define _POPCARGS_5   _POPCARGS_4; popl %edi; L(POPDI2):
 
 # ifdef IS_IN_libpthread
 #  define CENABLE      call __pthread_enable_asynccancel;
 #  define CENABLE      call __libc_enable_asynccancel;
 #  define CDISABLE     call __libc_disable_asynccancel
 # endif
-# define POPCARGS_0    pushl %eax; movl %ecx, %eax; CDISABLE; popl %eax;
-# define POPCARGS_1    POPCARGS_0
-# define POPCARGS_2    xchgl (%esp), %eax; CDISABLE; popl %eax;
-# define POPCARGS_3    POPCARGS_2
-# define POPCARGS_4    POPCARGS_2
-# define POPCARGS_5    POPCARGS_2
+# 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
 
 #if !defined NOT_IN_libc
 # define __local_multiple_threads __libc_multiple_threads