patches/glibc/ports-2.10.1/420-alpha-no-asm-elf-header.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
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 2007-03-13  Mike Frysinger  <vapier@gentoo.org>
     2 
     3 	* sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some defines
     4 	from alpha's asm/elf.h
     5 
     6 diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sys/procfs.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sys/procfs.h
     7 --- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sys/procfs.h	2009-05-16 10:36:20.000000000 +0200
     8 +++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/alpha/sys/procfs.h	2009-11-13 00:50:49.000000000 +0100
     9 @@ -29,10 +29,23 @@
    10  #include <sys/types.h>
    11  #include <sys/ucontext.h>
    12  #include <sys/user.h>
    13 -#include <asm/elf.h>
    14  
    15  __BEGIN_DECLS
    16  
    17 +/*
    18 + * The OSF/1 version of <sys/procfs.h> makes gregset_t 46 entries long.
    19 + * I have no idea why that is so.  For now, we just leave it at 33
    20 + * (32 general regs + processor status word). 
    21 + */
    22 +#define ELF_NGREG	33
    23 +#define ELF_NFPREG	32
    24 +
    25 +typedef unsigned long elf_greg_t;
    26 +typedef elf_greg_t elf_gregset_t[ELF_NGREG];
    27 +
    28 +typedef double elf_fpreg_t;
    29 +typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
    30 +
    31  struct elf_siginfo
    32    {
    33      int si_signo;			/* Signal number.  */
    34 diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/alpha/sys/procfs.h glibc-2.10.1/ports/sysdeps/unix/sysv/linux/alpha/sys/procfs.h