patches/gcc/4.4.5/350-index_macro.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Feb 21 23:39:46 2011 +0100 (2011-02-21)
changeset 2312 8b9938edd3d8
permissions -rw-r--r--
libc/glibc: add fortify option

By default, recent versions of glibc and eglibc will build some
functions that take format strings (eg. printf, syslog...) with
run-time checks against some format string attacks. This is
called a fortified build.

Unfortunately, this fails somehow while building the instrumented
version of syslog, with some kind of circular dependency...

Disable fortified builds by default, and hide the enabling option
behind EXPERIMENTAL for daring users...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 -= BEGIN original header =-
     2 Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_304-index_macro.patch
     3 -= END original header =-
     4 
     5 diff -durN gcc-4.4.5.orig/libstdc++-v3/include/ext/rope gcc-4.4.5/libstdc++-v3/include/ext/rope
     6 --- gcc-4.4.5.orig/libstdc++-v3/include/ext/rope	2009-04-10 01:23:07.000000000 +0200
     7 +++ gcc-4.4.5/libstdc++-v3/include/ext/rope	2010-10-09 23:12:51.000000000 +0200
     8 @@ -54,6 +54,9 @@
     9  #include <bits/gthr.h>
    10  #include <tr1/functional>
    11  
    12 +/* cope w/ index defined as macro, SuSv3 proposal */
    13 +#undef index
    14 +
    15  # ifdef __GC
    16  #   define __GC_CONST const
    17  # else
    18 diff -durN gcc-4.4.5.orig/libstdc++-v3/include/ext/ropeimpl.h gcc-4.4.5/libstdc++-v3/include/ext/ropeimpl.h
    19 --- gcc-4.4.5.orig/libstdc++-v3/include/ext/ropeimpl.h	2009-04-10 01:23:07.000000000 +0200
    20 +++ gcc-4.4.5/libstdc++-v3/include/ext/ropeimpl.h	2010-10-09 23:12:51.000000000 +0200
    21 @@ -49,6 +49,9 @@
    22  #include <ext/memory> // For uninitialized_copy_n
    23  #include <ext/numeric> // For power
    24  
    25 +/* cope w/ index defined as macro, SuSv3 proposal */
    26 +#undef index
    27 +
    28  _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
    29  
    30    using std::size_t;