diff options
Diffstat (limited to 'dev-lang/ghc/files/ghc-6.12.3-ia64-fixed-relax.patch')
-rw-r--r-- | dev-lang/ghc/files/ghc-6.12.3-ia64-fixed-relax.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/dev-lang/ghc/files/ghc-6.12.3-ia64-fixed-relax.patch b/dev-lang/ghc/files/ghc-6.12.3-ia64-fixed-relax.patch new file mode 100644 index 000000000000..37bfab110fd0 --- /dev/null +++ b/dev-lang/ghc/files/ghc-6.12.3-ia64-fixed-relax.patch @@ -0,0 +1,35 @@ +commit 7b45030b81fb0588b858400c051f9f7c10ef2760 +Author: Sergei Trofimovich <slyfox@gentoo.org> +Date: Tue Jul 6 11:39:18 2010 +0300 + + Fixing link failure of compiler on ia64 ('-Wl,' prefixed value passed directly to ld) + + /usr/bin/ld -Wl,--relax -r -o dist-stage1/build/HSghc-6.10.4.o \ + dist-stage1/build/BasicTypes.o dist-stage1/build/DataCon.o ... + /usr/bin/ld: unrecognized option '-Wl,--relax' + + If we just drop '-Wl,' part it will not help as '-r' and '--relax' are incompatible. + + Looks like '-Wl,--relax' was skipped by earlier binutils' ld as unknown option. + Removing ia64 specific path. + + Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> + +diff --git a/compiler/ghc.mk b/compiler/ghc.mk +index 6b25efa..29d3ade 100644 +--- a/compiler/ghc.mk ++++ b/compiler/ghc.mk +@@ -337,13 +337,6 @@ ifeq "$(TargetOS_CPP)" "openbsd" + compiler_CONFIGURE_OPTS += --ld-options=-E + endif + +-ifeq "$(GhcUnregisterised)" "NO" +-ifeq "$(HOSTPLATFORM)" "ia64-unknown-linux" +-# needed for generating proper relocation in large binaries: trac #856 +-compiler_CONFIGURE_OPTS += --ld-option=-Wl,--relax +-endif +-endif +- + # We need to turn on profiling either if we have been asked to + # (GhcLibProfiled = YES) or if we want GHC itself to be compiled with + # profiling enabled (GhcProfiled = YES). |