GCC 4.6: Add patch to fix GNU/Hurd builds.
svn path=/nixpkgs/trunk/; revision=32837
This commit is contained in:
@@ -43,6 +43,16 @@ with stdenv.lib;
|
|||||||
with builtins;
|
with builtins;
|
||||||
|
|
||||||
let version = "4.6.3";
|
let version = "4.6.3";
|
||||||
|
|
||||||
|
patches = [ ]
|
||||||
|
++ optional (cross != null) ./libstdc++-target.patch
|
||||||
|
++ optional noSysDirs ./no-sys-dirs.patch
|
||||||
|
# The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
|
||||||
|
# target libraries and tools.
|
||||||
|
++ optional langAda ./gnat-cflags.patch
|
||||||
|
++ optional langVhdl ./ghdl-ortho-cflags.patch
|
||||||
|
++ optional stdenv.isGNU ./hurd-sigrtmin.patch;
|
||||||
|
|
||||||
javaEcj = fetchurl {
|
javaEcj = fetchurl {
|
||||||
# The `$(top_srcdir)/ecj.jar' file is automatically picked up at
|
# The `$(top_srcdir)/ecj.jar' file is automatically picked up at
|
||||||
# `configure' time.
|
# `configure' time.
|
||||||
@@ -137,15 +147,7 @@ stdenv.mkDerivation ({
|
|||||||
inherit langC langCC langFortran langJava langAda langGo;
|
inherit langC langCC langFortran langJava langAda langGo;
|
||||||
};
|
};
|
||||||
|
|
||||||
patches =
|
inherit patches;
|
||||||
[ ]
|
|
||||||
++ optional (cross != null) ./libstdc++-target.patch
|
|
||||||
++ optional noSysDirs ./no-sys-dirs.patch
|
|
||||||
# The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
|
|
||||||
# target libraries and tools.
|
|
||||||
++ optional langAda ./gnat-cflags.patch
|
|
||||||
++ optional langVhdl ./ghdl-ortho-cflags.patch
|
|
||||||
;
|
|
||||||
|
|
||||||
postPatch =
|
postPatch =
|
||||||
if (stdenv.system == "i586-pc-gnu"
|
if (stdenv.system == "i586-pc-gnu"
|
||||||
@@ -278,6 +280,7 @@ stdenv.mkDerivation ({
|
|||||||
else "install";
|
else "install";
|
||||||
|
|
||||||
crossAttrs = {
|
crossAttrs = {
|
||||||
|
patches = patches ++ [ ./hurd-sigrtmin.patch ];
|
||||||
AR = "${stdenv.cross.config}-ar";
|
AR = "${stdenv.cross.config}-ar";
|
||||||
LD = "${stdenv.cross.config}-ld";
|
LD = "${stdenv.cross.config}-ld";
|
||||||
CC = "${stdenv.cross.config}-gcc";
|
CC = "${stdenv.cross.config}-gcc";
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
GNU libc on GNU/Hurd doesn't define `__SIGRTMIN'.
|
||||||
|
From <http://patch-tracker.debian.org/patch/series/view/gcc-4.6/4.6.3-1/hurd-fixes.diff>.
|
||||||
|
|
||||||
|
--- a/libgcc/generic-morestack.c 2011-12-19 21:14:52.000000000 +0100
|
||||||
|
+++ b/libgcc/generic-morestack.c 2011-12-19 21:15:35.000000000 +0100
|
||||||
|
@@ -507,7 +507,7 @@
|
||||||
|
sigemptyset (&__morestack_initial_sp.mask);
|
||||||
|
|
||||||
|
sigfillset (&__morestack_fullmask);
|
||||||
|
-#ifdef __GLIBC__
|
||||||
|
+#if defined(__GLIBC__) && defined(__SIGRTMIN)
|
||||||
|
/* In glibc, the first two real time signals are used by the NPTL
|
||||||
|
threading library. By taking them out of the set of signals, we
|
||||||
|
avoiding copying the signal mask in pthread_sigmask. More
|
||||||
Reference in New Issue
Block a user