patches/gcc/4.2.0/220-libstdc++-namespace.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 111 2e16b9fc302d
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 diff -rup gcc-4.2.orig/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-4.2/libstdc++-v3/config/locale/uclibc/messages_members.h
     2 --- gcc-4.2.orig/libstdc++-v3/config/locale/uclibc/messages_members.h	2006-12-22 13:06:56.000000000 +0100
     3 +++ gcc-4.2/libstdc++-v3/config/locale/uclibc/messages_members.h	2006-12-22 15:23:41.000000000 +0100
     4 @@ -32,7 +32,8 @@
     5  //
     6  
     7  // Written by Benjamin Kosnik <bkoz@redhat.com>
     8 -
     9 +namespace std
    10 +{
    11  #ifdef __UCLIBC_MJN3_ONLY__
    12  #warning fix prototypes for *textdomain funcs
    13  #endif
    14 @@ -115,3 +116,4 @@
    15  	   this->_S_create_c_locale(this->_M_c_locale_messages, __s); 
    16  	 }
    17       }
    18 +}
    19 diff -rup gcc-4.2.orig/libstdc++-v3/config/locale/uclibc/time_members.h gcc-4.2/libstdc++-v3/config/locale/uclibc/time_members.h
    20 --- gcc-4.2.orig/libstdc++-v3/config/locale/uclibc/time_members.h	2006-12-22 13:06:56.000000000 +0100
    21 +++ gcc-4.2/libstdc++-v3/config/locale/uclibc/time_members.h	2006-12-22 15:20:31.000000000 +0100
    22 @@ -33,7 +33,8 @@
    23  //
    24  
    25  // Written by Benjamin Kosnik <bkoz@redhat.com>
    26 -
    27 +namespace std
    28 +{
    29    template<typename _CharT>
    30      __timepunct<_CharT>::__timepunct(size_t __refs) 
    31      : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL), 
    32 @@ -74,3 +75,4 @@
    33        delete _M_data; 
    34        _S_destroy_c_locale(_M_c_locale_timepunct); 
    35      }
    36 +}