patches/glibc/2.5/130-i686-assembler.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 2007-02-15  Khem Raj  <kraj@xxxxxxxxxx>
     2 
     3        * sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686.
     4        * nptl/sysdeps/pthread/pt-initfini.c: Ditto.
     5 
     6 
     7 
     8 Index: glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h
     9 ===================================================================
    10 --- glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h	(revision 1469)
    11 +++ glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h	(working copy)
    12 @@ -29,6 +29,10 @@
    13  #include <dl-sysdep.h>
    14  #include <tls.h>
    15  
    16 +#if defined __i686 && defined __ASSEMBLER__
    17 +#undef __i686
    18 +#define __i686 __i686
    19 +#endif
    20  
    21  /* For Linux we can use the system call table in the header file
    22  	/usr/include/asm/unistd.h
    23 Index: glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c
    24 ===================================================================
    25 --- glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c	(revision 1469)
    26 +++ glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c	(working copy)
    27 @@ -45,6 +45,11 @@
    28  /* Embed an #include to pull in the alignment and .end directives. */
    29  asm ("\n#include \"defs.h\"");
    30  
    31 +asm ("\n#if defined __i686 && defined __ASSEMBLER__");
    32 +asm ("\n#undef __i686");
    33 +asm ("\n#define __i686 __i686");
    34 +asm ("\n#endif");
    35 +
    36  /* The initial common code ends here. */
    37  asm ("\n/*@HEADER_ENDS*/");
    38