patches/gcc/4.4.2/350-index_macro.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 1461 35b30f8fb307
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 Original patch from: ../4.3.2/290-index_macro.patch
     2 
     3 -= BEGIN original header =-
     4 Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_304-index_macro.patch
     5 -= END original header =-
     6 
     7 diff -durN gcc-4.3.3.orig/libstdc++-v3/include/ext/rope gcc-4.3.3/libstdc++-v3/include/ext/rope
     8 --- gcc-4.3.3.orig/libstdc++-v3/include/ext/rope	2008-07-15 12:14:51.000000000 +0200
     9 +++ gcc-4.3.3/libstdc++-v3/include/ext/rope	2009-01-27 22:25:41.000000000 +0100
    10 @@ -59,6 +59,9 @@
    11  #include <bits/gthr.h>
    12  #include <tr1/functional>
    13  
    14 +/* cope w/ index defined as macro, SuSv3 proposal */
    15 +#undef index
    16 +
    17  # ifdef __GC
    18  #   define __GC_CONST const
    19  # else
    20 diff -durN gcc-4.3.3.orig/libstdc++-v3/include/ext/ropeimpl.h gcc-4.3.3/libstdc++-v3/include/ext/ropeimpl.h
    21 --- gcc-4.3.3.orig/libstdc++-v3/include/ext/ropeimpl.h	2007-05-04 17:06:46.000000000 +0200
    22 +++ gcc-4.3.3/libstdc++-v3/include/ext/ropeimpl.h	2009-01-27 22:25:41.000000000 +0100
    23 @@ -54,6 +54,9 @@
    24  #include <ext/memory> // For uninitialized_copy_n
    25  #include <ext/numeric> // For power
    26  
    27 +/* cope w/ index defined as macro, SuSv3 proposal */
    28 +#undef index
    29 +
    30  _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
    31  
    32    using std::size_t;