patches/glibc/2.5/190-alpha-sigsuspend.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon May 02 18:07:13 2011 +0200 (2011-05-02)
changeset 2430 539a3fa894f0
parent 744 4bf8448536d5
permissions -rw-r--r--
internals: fix stripping yet once again

Fix typo introduced by changeset #055e505f28be.
Also, handle older versions of gcc (typically, all versions
prior to 4.0.0).

Maxime provided a similar patch, missing the case for the
legacy versions of gcc.

Reported-by: Maxime Bizon <mbizon@freebox.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@611
     1
--- glibc-2.5/sysdeps/unix/sysv/linux/alpha/sigsuspend.S.orig	2006-10-22 22:17:01.000000000 +0200
yann@611
     2
+++ glibc-2.5/sysdeps/unix/sysv/linux/alpha/sigsuspend.S	2006-10-22 22:18:05.000000000 +0200
yann@611
     3
@@ -31,3 +31,21 @@
yann@611
     4
 libc_hidden_def (__sigsuspend)
yann@611
     5
 weak_alias (__sigsuspend, sigsuspend)
yann@611
     6
 strong_alias (__sigsuspend, __libc_sigsuspend)
yann@611
     7
+
yann@611
     8
+#ifndef NO_CANCELLATION
yann@611
     9
+	.globl __sigsuspend_nocancel;
yann@611
    10
+	.align 4;
yann@611
    11
+	.type __sigsuspend_nocancel, @function;
yann@611
    12
+	.usepv __sigsuspend_nocancel, std;
yann@611
    13
+	cfi_startproc;
yann@611
    14
+__LABEL(__sigsuspend_nocancel)
yann@611
    15
+	ldgp    gp, 0(pv);
yann@611
    16
+	PSEUDO_PROF;
yann@611
    17
+	PSEUDO_PREPARE_ARGS
yann@611
    18
+	lda     v0, SYS_ify(sigsuspend);
yann@611
    19
+	call_pal PAL_callsys;
yann@611
    20
+	bne     a3, SYSCALL_ERROR_LABEL;
yann@611
    21
+	ret;
yann@611
    22
+	cfi_endproc;
yann@611
    23
+	.size __sigsuspend_nocancel, .-__sigsuspend_nocancel
yann@611
    24
+#endif