summaryrefslogtreecommitdiff
path: root/patches/glibc/2.5/280-alpha-sigsuspend.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/glibc/2.5/280-alpha-sigsuspend.patch')
-rw-r--r--patches/glibc/2.5/280-alpha-sigsuspend.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/patches/glibc/2.5/280-alpha-sigsuspend.patch b/patches/glibc/2.5/280-alpha-sigsuspend.patch
new file mode 100644
index 0000000..daf1a5d
--- /dev/null
+++ b/patches/glibc/2.5/280-alpha-sigsuspend.patch
@@ -0,0 +1,24 @@
+--- glibc-2.5/sysdeps/unix/sysv/linux/alpha/sigsuspend.S.orig 2006-10-22 22:17:01.000000000 +0200
++++ glibc-2.5/sysdeps/unix/sysv/linux/alpha/sigsuspend.S 2006-10-22 22:18:05.000000000 +0200
+@@ -31,3 +31,21 @@
+ libc_hidden_def (__sigsuspend)
+ weak_alias (__sigsuspend, sigsuspend)
+ strong_alias (__sigsuspend, __libc_sigsuspend)
++
++#ifndef NO_CANCELLATION
++ .globl __sigsuspend_nocancel;
++ .align 4;
++ .type __sigsuspend_nocancel, @function;
++ .usepv __sigsuspend_nocancel, std;
++ cfi_startproc;
++__LABEL(__sigsuspend_nocancel)
++ ldgp gp, 0(pv);
++ PSEUDO_PROF;
++ PSEUDO_PREPARE_ARGS
++ lda v0, SYS_ify(sigsuspend);
++ call_pal PAL_callsys;
++ bne a3, SYSCALL_ERROR_LABEL;
++ ret;
++ cfi_endproc;
++ .size __sigsuspend_nocancel, .-__sigsuspend_nocancel
++#endif