patches/gcc/4.4.4/300-uclibc-conf.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
parent 1948 d341be24dc68
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 diff -durN gcc-4.4.4.orig/contrib/regression/objs-gcc.sh gcc-4.4.4/contrib/regression/objs-gcc.sh
     2 --- gcc-4.4.4.orig/contrib/regression/objs-gcc.sh	2009-04-10 01:23:07.000000000 +0200
     3 +++ gcc-4.4.4/contrib/regression/objs-gcc.sh	2010-05-16 19:36:36.000000000 +0200
     4 @@ -106,6 +106,10 @@
     5   then
     6    make all-gdb all-dejagnu all-ld || exit 1
     7    make install-gdb install-dejagnu install-ld || exit 1
     8 +elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
     9 + then
    10 +  make all-gdb all-dejagnu all-ld || exit 1
    11 +  make install-gdb install-dejagnu install-ld || exit 1
    12  elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
    13    make bootstrap || exit 1
    14    make install || exit 1
    15 diff -durN gcc-4.4.4.orig/libjava/classpath/ltconfig gcc-4.4.4/libjava/classpath/ltconfig
    16 --- gcc-4.4.4.orig/libjava/classpath/ltconfig	2007-06-04 01:18:43.000000000 +0200
    17 +++ gcc-4.4.4/libjava/classpath/ltconfig	2010-05-16 19:36:36.000000000 +0200
    18 @@ -603,7 +603,7 @@
    19  
    20  # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
    21  case $host_os in
    22 -linux-gnu*) ;;
    23 +linux-gnu*|linux-uclibc*) ;;
    24  linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
    25  esac
    26  
    27 @@ -1251,7 +1251,7 @@
    28    ;;
    29  
    30  # This must be Linux ELF.
    31 -linux-gnu*)
    32 +linux*)
    33    version_type=linux
    34    need_lib_prefix=no
    35    need_version=no