patches/glibc/2.7/180-gcc-4.3-sysinclude-path.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Sep 07 01:22:37 2011 +0200 (2011-09-07)
branch1.12
changeset 2655 3ba359965eb0
parent 747 d3e603e7c17c
permissions -rw-r--r--
scripts: fix sysroot prefix dir

The sysroot prefix dir was broken in #4960f5d9f829 due to a mishap
when making the out-of-sysroot lib/ symlink: the './' was mistakenly
changed into a single '.' .

Although Jonathan suggested restoring the missing '/' to restore it to
normal operation, I prefered using an explicit pushd/popd to be extra
sure of the symlink location and target, along with a fix in the sysroot
relative directory calculation.

Reported-by: Jonathan Grundon <JGrundon@xos.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
(transplanted from e5fc5c9ea78af28d05244ba09cf718cf75470903)
     1 Patch pointed to by Ryan ARNOLD on the libc-help ML.
     2 See: http://sourceware.org/ml/libc-help/2008-06/msg00063.html
     3 
     4 Forwarded to crosstool-NG by Ioannis E. VENETIS:
     5 See: http://sourceware.org/ml/libc-help/2008-06/msg00063.html
     6 
     7 GCC 4.3 changed the location of some of the header files.  I don't
     8 understand why you'd be getting these errors while building GCC since
     9 it provides them.
    10 
    11 With regard to GLIBC, Roland checked in some changes so that the GLIBC
    12 build system could find the new locations of the GCC provided header
    13 files.
    14 
    15 diff -durN glibc-2.7.orig/configure.in glibc-2.7/configure.in
    16 --- glibc-2.7.orig/configure.in	2007-06-08 05:16:36.000000000 +0200
    17 +++ glibc-2.7/configure.in	2008-06-24 18:38:46.000000000 +0200
    18 @@ -911,8 +911,12 @@
    19  # header directory and add that to the list.  NOTE: Only does the right
    20  # thing on a system that doesn't need fixincludes.  (Not presently a problem.)
    21  if test -n "$sysheaders"; then
    22 -  ccheaders=`$CC -print-file-name=include`
    23 -  SYSINCLUDES="-nostdinc -isystem $ccheaders \
    24 +  SYSINCLUDES=-nostdinc
    25 +  for d in include include-fixed; do
    26 +    i=`$CC -print-file-name="$d"` && test "x$i" != x && test "x$i" != "x$d" &&
    27 +    SYSINCLUDES="$SYSINCLUDES -isystem $i"
    28 +  done
    29 +  SYSINCLUDES="$SYSINCLUDES \
    30  -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
    31    if test -n "$CXX"; then
    32      cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` &&
    33 diff -durN glibc-2.7.orig/configure glibc-2.7/configure
    34 --- glibc-2.7.orig/configure	2008-06-24 18:35:34.000000000 +0200
    35 +++ glibc-2.7/configure	2008-06-24 18:38:46.000000000 +0200
    36 @@ -5062,8 +5062,12 @@
    37  # header directory and add that to the list.  NOTE: Only does the right
    38  # thing on a system that doesn't need fixincludes.  (Not presently a problem.)
    39  if test -n "$sysheaders"; then
    40 -  ccheaders=`$CC -print-file-name=include`
    41 -  SYSINCLUDES="-nostdinc -isystem $ccheaders \
    42 +  SYSINCLUDES=-nostdinc
    43 +  for d in include include-fixed; do
    44 +    i=`$CC -print-file-name="$d"` && test "x$i" != "x$d" &&
    45 +    SYSINCLUDES="$SYSINCLUDES -isystem $i"
    46 +  done
    47 +  SYSINCLUDES="$SYSINCLUDES \
    48  -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
    49    if test -n "$CXX"; then
    50      cxxversion=`$CXX -dumpversion 2>&5` &&