GCC 4.5: Add patch to fix GNU/Hurd builds.

svn path=/nixpkgs/trunk/; revision=21903
This commit is contained in:
Ludovic Courtès 2010-05-19 21:31:21 +00:00
parent fc763b15eb
commit aa26710b44
2 changed files with 33 additions and 1 deletions

View File

@ -132,7 +132,7 @@ stdenv.mkDerivation ({
}; };
patches = patches =
[ ] [ ./softfp-hurd.patch ]
++ optional (cross != null) ./libstdc++-target.patch ++ optional (cross != null) ./libstdc++-target.patch
++ optional noSysDirs ./no-sys-dirs.patch ++ optional noSysDirs ./no-sys-dirs.patch
# The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its

View File

@ -0,0 +1,32 @@
This patch fixes undefined references to softp symbols (__multf3, __fixunstfsi,
__subtf3, etc.) in libgcc_s.so on GNU/Hurd.
Taken from <http://gcc.gnu.org/ml/gcc-patches/2010-04/msg00602.html>, with second
hunk adjusted so that it applies to GCC 4.5.0.
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 9e499cb..9aec392 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -3070,7 +3070,9 @@ case ${target} in
i[34567]86-*-darwin* | x86_64-*-darwin*)
tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp"
;;
- i[34567]86-*-linux* | x86_64-*-linux* | i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
+ i[34567]86-*-linux* | x86_64-*-linux* | \
+ i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
+ i[34567]86-*-gnu*)
tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp i386/t-linux"
;;
ia64*-*-linux*)
diff --git a/libgcc/config.host b/libgcc/config.host
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -600,6 +600,7 @@ case ${host} in
i[34567]86-*-darwin* | x86_64-*-darwin* | \
i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
i[34567]86-*-linux* | x86_64-*-linux* | \
+ i[34567]86-*-gnu* | \
i[34567]86-*-solaris2* | \
i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*)
if test "${host_address}" = 32; then