nixpkgs/pkgs
Domen Kožar f031f3105a
GHC 8.0.2: use -split-sections
-split-sections replaced -split-objs with following upsides:

1) -split-objs adds considerable overhead to compile time

2) combined with stripping, it causes issues when cross-compiling

For upstream see https://ghc.haskell.org/trac/ghc/ticket/8405

This is supported only for Linux/Windows using ld linker.

GHC master also turns on -split-sections by default.

Example using stack:

Without splitting

  $ du /nix/store/5paayhibayr73zqfaj458g4k4mv108jn-stack-1.3.2
  4       /nix/store/5paayhibayr73zqfaj458g4k4mv108jn-stack-1.3.2/share/bash-completion/completions
  4       /nix/store/5paayhibayr73zqfaj458g4k4mv108jn-stack-1.3.2/share/bash-completion
  4       /nix/store/5paayhibayr73zqfaj458g4k4mv108jn-stack-1.3.2/share
  23416   /nix/store/5paayhibayr73zqfaj458g4k4mv108jn-stack-1.3.2/bin
  23420   /nix/store/5paayhibayr73zqfaj458g4k4mv108jn-stack-1.3.2

With -split-objs

  $ du /nix/store/fypymm529adpx71gdzm0851xz42wdbz0-stack-1.3.2
  20632   /nix/store/fypymm529adpx71gdzm0851xz42wdbz0-stack-1.3.2/bin
  4 /nix/store/fypymm529adpx71gdzm0851xz42wdbz0-stack-1.3.2/share/bash-completion/completions
  4 /nix/store/fypymm529adpx71gdzm0851xz42wdbz0-stack-1.3.2/share/bash-completion
  4       /nix/store/fypymm529adpx71gdzm0851xz42wdbz0-stack-1.3.2/share
  20636   /nix/store/fypymm529adpx71gdzm0851xz42wdbz0-stack-1.3.2

With -split-sections

  $ du /nix/store/40l6krinx1zx41lr87c4m12hxj4ldf3x-stack-1.3.2
  4       /nix/store/40l6krinx1zx41lr87c4m12hxj4ldf3x-stack-1.3.2/share/bash-completion/completions
  4       /nix/store/40l6krinx1zx41lr87c4m12hxj4ldf3x-stack-1.3.2/share/bash-completion
  4       /nix/store/40l6krinx1zx41lr87c4m12hxj4ldf3x-stack-1.3.2/share
  20672   /nix/store/40l6krinx1zx41lr87c4m12hxj4ldf3x-stack-1.3.2/bin
  20676   /nix/store/40l6krinx1zx41lr87c4m12hxj4ldf3x-stack-1.3.2

Note: you currently need following overrides to build stack on 802:

   vector-algorithms = dontCheck super.vector-algorithms;
   path-io = doJailbreak super.path-io;
   stack = doJailbreak super.stack;

Note: Should also work on GHC 8.0.1, but I'm being careful here.
      We could backport later on.
2017-02-07 14:21:54 +01:00
..
applications firefox-wrapper: remove gnash support, see #22342 2017-02-06 21:40:19 -05:00
build-support Add a pkgs.dhallToNix utility 2017-01-26 20:11:49 -08:00
data liberastika: init at 1.1.5 (#22420) 2017-02-04 16:38:01 +01:00
desktops Merge pull request #22478 from peterhoeg/p/okteta 2017-02-06 11:19:13 -06:00
development GHC 8.0.2: use -split-sections 2017-02-07 14:21:54 +01:00
games Merge branch 'staging' 2017-02-04 21:02:46 +01:00
misc Merge pull request #22285 from nand0p/electricsheep 2017-02-07 10:20:20 +01:00
os-specific intel-ocl: init at r4.0-59481 2017-02-07 15:20:30 +03:00
servers xf86-video-intel: 15c5ff1245 -> e4fe79cf0d. 2017-02-06 21:27:44 -05:00
shells fish: 2.3.1 -> 2.5.0 2017-02-04 20:58:55 +01:00
stdenv Merge pull request #22387 from Ericson2314/cross-3-platforms 2017-02-05 17:41:31 -05:00
test
tools Merge pull request #22285 from nand0p/electricsheep 2017-02-07 10:20:20 +01:00
top-level intel-ocl: init at r4.0-59481 2017-02-07 15:20:30 +03:00