GCC 4.4: Fix shared library support of sparc64-linux-gnu cross-compiler.
svn path=/nixpkgs/trunk/; revision=20975
This commit is contained in:
parent
7b9ccbd457
commit
7f6b1e9abd
@ -120,7 +120,8 @@ stdenv.mkDerivation ({
|
|||||||
# 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
|
||||||
# target libraries and tools.
|
# target libraries and tools.
|
||||||
++ optional langAda ./gnat-cflags.patch
|
++ optional langAda ./gnat-cflags.patch
|
||||||
++ optional langVhdl ./ghdl-ortho-cflags.patch;
|
++ optional langVhdl ./ghdl-ortho-cflags.patch
|
||||||
|
++ optional (cross != null && cross.arch == "sparc64") ./pr41818.patch;
|
||||||
|
|
||||||
inherit noSysDirs profiledCompiler staticCompiler langJava crossStageStatic
|
inherit noSysDirs profiledCompiler staticCompiler langJava crossStageStatic
|
||||||
libcCross;
|
libcCross;
|
||||||
|
26
pkgs/development/compilers/gcc-4.4/pr41818.patch
Normal file
26
pkgs/development/compilers/gcc-4.4/pr41818.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
From <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41818>. This fixes compilation
|
||||||
|
of the sparc64-linux-gnu cross-compiler with shared libraries.
|
||||||
|
|
||||||
|
--- trunk/Makefile.in 2010/01/07 19:21:46 155705
|
||||||
|
+++ trunk/Makefile.in 2010/01/07 19:53:50 155706
|
||||||
|
@@ -259,7 +259,7 @@
|
||||||
|
# directories built for the target.
|
||||||
|
TARGET_CONFIGARGS = @target_configargs@ --with-target-subdir="$(TARGET_SUBDIR)"
|
||||||
|
# This is the list of variables to export in the environment when
|
||||||
|
-# configuring subdirectories for the host system.
|
||||||
|
+# configuring subdirectories for the target system.
|
||||||
|
BASE_TARGET_EXPORTS = \
|
||||||
|
$(BASE_EXPORTS) \
|
||||||
|
AR="$(AR_FOR_TARGET)"; export AR; \
|
||||||
|
@@ -281,7 +281,10 @@
|
||||||
|
STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \
|
||||||
|
WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
|
||||||
|
WINDMC="$(WINDMC_FOR_TARGET)"; export WINDMC; \
|
||||||
|
- $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
|
||||||
|
+@if gcc-bootstrap
|
||||||
|
+ $(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
|
||||||
|
+@endif gcc-bootstrap
|
||||||
|
+ $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
|
||||||
|
|
||||||
|
RAW_CXX_TARGET_EXPORTS = \
|
||||||
|
$(BASE_TARGET_EXPORTS) \
|
@ -1988,9 +1988,6 @@ let
|
|||||||
libcCross = libcCross;
|
libcCross = libcCross;
|
||||||
profiledCompiler = false;
|
profiledCompiler = false;
|
||||||
enableMultilib = false;
|
enableMultilib = false;
|
||||||
# cross-building for ultrasparc in 4.4.3 will require disabling shared due to a gcc bug.
|
|
||||||
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41818
|
|
||||||
enableShared = if (crossSystem.arch == "sparc64") then false else true;
|
|
||||||
crossStageStatic = false;
|
crossStageStatic = false;
|
||||||
cross = assert crossSystem != null; crossSystem;
|
cross = assert crossSystem != null; crossSystem;
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user