]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
* sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Add support for
authorRichard Henderson <rth@redhat.com>
Tue, 13 Mar 2007 16:05:44 +0000 (16:05 +0000)
committerRichard Henderson <rth@redhat.com>
Tue, 13 Mar 2007 16:05:44 +0000 (16:05 +0000)
__sigsuspend_nocancel.

sysdeps/unix/sysv/linux/alpha/sigsuspend.S

index 48c3f271c7bca3841f0151dc0fbde0a4477fe9ba..6863c07ec1448ca418289376cc33fe69cc111bac 100644 (file)
 /* sigsuspend is a special syscall since it needs to dereference the
    sigset.  This will have to change when we have more than 64 signals.  */
 
+#ifndef NO_CANCELLATION
+#include <sysdep.h>
+
+#undef PSEUDO_PREPARE_ARGS
+#define PSEUDO_PREPARE_ARGS    ldq     a0, 0(a0);
+
+PSEUDO(__sigsuspend_nocancel, sigsuspend, 1)
+       ret
+/* Use END, not PSEUDO_END, so that we don't issue two $syscall_error
+   symbols; we'll jump into __sigsuspend for the error case.  */
+END(__sigsuspend_nocancel)
+#endif /* NO_CANCELLATION */
+
 #include <sysdep-cancel.h>
 
 #undef PSEUDO_PREPARE_ARGS