patches/glibc/2.5/190-alpha-sigsuspend.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Nov 04 19:22:29 2011 +0100 (2011-11-04)
changeset 2735 f09ed6dd71a3
parent 744 4bf8448536d5
permissions -rw-r--r--
kernel/linux: fix packed attribute in exported headers

UBI headers (and maybe others as well) are broken because the 'packed'
attribute is not sanitised when the headers are exported to userspace.

Apply the fix from upstream:
https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=f210735fe2f17a6225432ee3d1239bcf23a8659c

(Also, buildroot does the same, BTW)

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