on iko/ghcjs-patch-master help sign in
fix: don't use fast-llvm for aarch32 (#555)
e08db6bLe Tuan
builder/comp-builder.nix+1−2
@@ -75,9 +75,8 @@ let
75 [ "--with-gcc=${stdenv.cc.targetPrefix}cc"
75 [ "--with-gcc=${stdenv.cc.targetPrefix}cc"
76 ] ++
76 ] ++
77 # BINTOOLS
77 # BINTOOLS
78− (if stdenv.hostPlatform.isLinux && !stdenv.targetPlatform.isAarch32
78+ (if stdenv.hostPlatform.isLinux
79 # use gold as the linker on linux to improve link times
79 # use gold as the linker on linux to improve link times
80− # Causes segfaults on Aarch32 though.
81 then [
80 then [
82 "--with-ld=${stdenv.cc.bintools.targetPrefix}ld.gold"
81 "--with-ld=${stdenv.cc.bintools.targetPrefix}ld.gold"
83 "--ghc-option=-optl-fuse-ld=gold"
82 "--ghc-option=-optl-fuse-ld=gold"
compiler/ghc/default.nix+5−10
@@ -98,9 +98,6 @@ let
98 GhcRtsHcOpts += -fPIC
98 GhcRtsHcOpts += -fPIC
99 '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
99 '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
100 EXTRA_CC_OPTS += -std=gnu99
100 EXTRA_CC_OPTS += -std=gnu99
101− '' + stdenv.lib.optionalString useLLVM ''
102− GhcStage2HcOpts += -fast-llvm
103− GhcLibHcOpts += -fast-llvm
104 '' + stdenv.lib.optionalString (!enableTerminfo) ''
101 '' + stdenv.lib.optionalString (!enableTerminfo) ''
105 WITH_TERMINFO=NO
102 WITH_TERMINFO=NO
106 ''
103 ''
@@ -214,13 +211,11 @@ in let configured-src = stdenv.mkDerivation (rec {
214 "--enable-bootstrap-with-devel-snapshot"
211 "--enable-bootstrap-with-devel-snapshot"
215 ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
212 ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
216 "--disable-large-address-space"
213 "--disable-large-address-space"
217− ];
218− # FIXME Currently causes segfaults on armv6l cross-compilation.
219− # ++ stdenv.lib.optionals (targetPlatform.isAarch32) [
214+ ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [
220− # "CFLAGS=-fuse-ld=gold"
215+ "CFLAGS=-fuse-ld=gold"
221− # "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
216+ "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
222− # "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
217+ "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
223− # ] ;
218+ ] ;
224
219
225 outputs = [ "out" ];
220 outputs = [ "out" ];
226 phases = [ "unpackPhase" "patchPhase" ]
221 phases = [ "unpackPhase" "patchPhase" ]