gcc 4.4.2 is also affected by the wrong CPP passed to the configure script of

the target libraries, as 4.3.4
I trigger the breaking build using uclibc, instead of glibc, and then the
mixture of CPP getting the build glibc headers, and CC getting the uclibc
headers, makes the problem evident.
In 4.3.4 it only affected libmudflap. In 4.4.2, it affects libmudflap and
libstdc++.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18850
This commit is contained in:
Lluís Batlle i Rossell 2009-12-09 10:05:47 +00:00
parent 916896e252
commit 48bb7745e7
2 changed files with 20 additions and 2 deletions

View File

@ -88,8 +88,14 @@ stdenv.mkDerivation ({
patches =
[./pass-cxxcpp.patch
# ./libtool-glibc.patch # some libraries don't let the proper -Btargetglibcpath pass
./libstdc++-target.patch # (fixed in gcc 4.4.3) bad mixture of build/target flags
# libmudflap and libstdc++ receive the build CPP,
# and not the target.
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42279
./target-cpp.patch
# (fixed in gcc 4.4.3) bad mixture of build/target flags
./libstdc++-target.patch
]
++ optional noSysDirs ./no-sys-dirs.patch;

View File

@ -0,0 +1,12 @@
diff --git a/Makefile.in b/Makefile.in
index 8545b60..1fab64d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -231,6 +231,7 @@ BASE_TARGET_EXPORTS = \
CC="$(CC_FOR_TARGET)"; export CC; \
CFLAGS="$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CPP="$(CC_FOR_TARGET) -E"; export CPP; \
CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
CXXFLAGS="$(CXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; \
GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \