Skip to content
Snippets Groups Projects
  1. Mar 06, 2018
  2. Mar 02, 2018
  3. Feb 21, 2018
  4. Feb 03, 2018
    • Ben Gamari's avatar
      ghc-prim: Emulate C11 atomics when not available · 217e4170
      Ben Gamari authored and Ben Gamari's avatar Ben Gamari committed
      GCC's __sync primitives apparently "usually" imply a full barrier,
      meaning they can be used to emulate the more precise C11 atomics albeit
      with a loss of efficiency. This restores compatibility with GCC 4.4.
      
      This partially reverts commit 59de2909.
      
      Test Plan: Validate on Centos
      
      Reviewers: hvr, simonmar, trommler
      
      Subscribers: rwbarton, thomie, erikd, carter
      
      GHC Trac Issues: #14244
      
      Differential Revision: https://phabricator.haskell.org/D4364
      217e4170
  5. Jan 17, 2018
  6. Nov 11, 2017
  7. Nov 06, 2017
    • Peter Trommler's avatar
      Update autoconf test for gcc to require 4.7 and up · 59de2909
      Peter Trommler authored and Ben Gamari's avatar Ben Gamari committed
      Fixing #14244 required the newer gcc atomic built-ins that are provided
      from 4.7 and up. This updates the test to check for minimum gcc version
      4.7.
      
      The version tests for 3.4 (!), 4.4, and 4.6 are no longer needed and can
      be removed. This makes the build system simpler.
      
      Test Plan: validate
      
      Reviewers: austin, bgamari, hvr, simonmar
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, thomie, erikd
      
      Differential Revision: https://phabricator.haskell.org/D4165
      59de2909
  8. Nov 03, 2017
  9. Oct 25, 2017
  10. Sep 26, 2017
    • Ben Gamari's avatar
      configure: Don't hard-code strip tool · 65f7d87a
      Ben Gamari authored and Ben Gamari's avatar Ben Gamari committed
      For reasons that I don't entirely understand we didn't previously detect
      `strip` using autoconf. This naturally broke during cross-compilation.
      How did this ever work? I have no idea.
      
      Test Plan: Try cross-compiling
      
      Reviewers: austin, hvr, angerman
      
      Subscribers: rwbarton, thomie, erikd
      
      Differential Revision: https://phabricator.haskell.org/D4008
      65f7d87a
  11. Sep 09, 2017
  12. Sep 06, 2017
    • Moritz Angermann's avatar
      Clean up opt and llc · 22733532
      Moritz Angermann authored and Ben Gamari's avatar Ben Gamari committed
      The LLVM backend shells out to LLVMs `opt` and `llc` tools. This clean
      up introduces a shared data structure to carry the arguments we pass to
      each tool so that corresponding flags are next to each other. It drops
      the hard coded data layouts in favor of using `-mtriple` and have LLVM
      infer them. Furthermore we add `clang` as a proper tool, so we don't
      rely on assuming that `clang` is called `clang` on the `PATH` when using
      `clang` as the assembler.  Finally this diff also changes the type of
      `optLevel` from `Int` to `Word`, as we do not have negative optimization
      levels.
      
      Reviewers: erikd, hvr, austin, rwbarton, bgamari, kavon
      
      Reviewed By: kavon
      
      Subscribers: michalt, Ericson2314, ryantrinkle, dfeuer, carter, simonpj,
      kavon, simonmar, thomie, erikd, snowleopard
      
      Differential Revision: https://phabricator.haskell.org/D3352
      22733532
  13. Sep 05, 2017
  14. Aug 19, 2017
  15. Aug 01, 2017
    • Herbert Valerio Riedel's avatar
      Enable building Cabal with parsec · 36fe21aa
      Herbert Valerio Riedel authored and Ben Gamari's avatar Ben Gamari committed
      Cabal's parser has been rewritten in terms of Parsec (which is not
      enabled yet in Cabal-2.0 by default, but can be enabled by a cabal
      flag). The plan for Cabal is to drop support for the non-parsec parser,
      so we need to prepare GHC to cope with new situation.
      
      However, this means that lib:Cabal requires three new library
      dependency submodules,
      
       - parsec
       - text
       - mtl
      
      What complicates matters is that we need to build `ghc-cabal` early on
      during the bootstrap phase which currently needs to invoke `ghc --make`
      directly. So these additional dependencies need to be integrated into
      the monolithic `ghc --make` invocation which produces the `ghc-cabal`
      executable.
      
      Test Plan: `./validate --fast` passed
      
      Reviewers: austin, bgamari
      
      Subscribers: erikd, phadej, rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3757
      36fe21aa
  16. Jul 13, 2017
    • Tamar Christina's avatar
      [skip ci] Temporarily disable split-sections on Windows. · f656fba1
      Tamar Christina authored
      Summary:
      This temporarily disabled split-sections again on Windows because
      of the overhead in linking it introduces. Unfortunately because BFD
      is so slow a testsuite run gets almost 2x slower. Simply linking
      Hello World takes an unacceptable long time.
      
      So for now, it'll be disabled as we look into different linkers such
      as LLD.
      
      Test Plan: ./validate
      
      Reviewers: austin, bgamari
      
      Subscribers: rwbarton, thomie
      
      GHC Trac Issues: #12913
      
      Differential Revision: https://phabricator.haskell.org/D3731
      f656fba1
  17. Jul 07, 2017
    • Tamar Christina's avatar
      Implement split-sections support for windows. · bd4fdc6a
      Tamar Christina authored
      Summary:
      Initial implementation of split-section on Windows.
      
      This also corrects section namings and uses the platform
      convention of `$` instead of `.` to separate sections.
      
      Implementation is based on @awson's patches to binutils.
      
      Binutils requires some extra help when compiling the libraries
      for GHCi usage. We drop the `-T` and use implicit scripts to amend
      the linker scripts instead of replacing it.
      
      Because of these very large GHCi object files, we need big-obj support,
      which will be added by another patch.
      
      Test Plan: ./validate
      
      Reviewers: awson, austin, bgamari
      
      Subscribers: dfeuer, rwbarton, thomie, snowleopard, #ghc_windows_task_force
      
      GHC Trac Issues: #12913
      
      Differential Revision: https://phabricator.haskell.org/D3383
      bd4fdc6a
  18. Jul 03, 2017
  19. May 23, 2017
    • Gabor Greif's avatar
      Typos in comments and manual [ci skip] · 0b4b4a34
      Gabor Greif authored
      0b4b4a34
    • Sergei Trofimovich's avatar
      mk/config.mk.in: lower -O2 optimization down to -O1 on UNREG · 432a1f18
      Sergei Trofimovich authored
      
      It's not a new behaviour. First it was introduced by
      2d5372cf
      ("lower -O2 optimization down to -O1 on UNREG") to fix build
      failure on unregisterised powerpc64.
      
      This time I've noticed build failures on unregisterised ia64.
      
      The change was accidentally reverted by commit
      14d0f7f1
      ("Build system: Add stage specific SRC_HC_(WARNING_)OPTS)
      
      The revert happened due to the following code rearrangement:
      
          ifeq "$(GhcUnregisterised)" "YES"
          GhcStage1HcOpts=
          GhcStage2HcOpts=
          GhcStage3HcOpts=
          endif
      
          GhcUnregisterised=@Unregisterised@
      
      As a result 'ifeq' part has no effect.
      
      The change moves 'ifeq' down to the very end of file
      and adds a note it depends on the 'GhcUnregisterised' variable.
      
      Signed-off-by: default avatarSergei Trofimovich <slyfox@gentoo.org>
      432a1f18
  20. May 11, 2017
  21. May 01, 2017
  22. Apr 29, 2017
  23. Apr 28, 2017
  24. Apr 25, 2017
  25. Apr 23, 2017
  26. Apr 21, 2017
  27. Apr 12, 2017
    • rwbarton's avatar
      Remove GhcDynamic (in favor of DYNAMIC_GHC_PROGRAMS) · 2c1312bd
      rwbarton authored and Ben Gamari's avatar Ben Gamari committed
      DYNAMIC_GHC_PROGRAMS and GhcDynamic both tried to control whether
      the ghc binary was built as a dynamic executable, with confusing
      results. In particular, setting GhcDynamic=NO has no effect on
      systems where DYNAMIC_GHC_PROGRAMS defaults to YES.
      
      DYNAMIC_GHC_PROGRAMS is more fully-featured (it ensures that the
      correct flavor of the libraries is built, for example) so let's
      keep it and remove GhcDynamic to reduce confusion.
      
      This effectively reverts commit 3c6190b0.
      
      Test Plan: tested locally; harbormaster
      
      Reviewers: simonmar, austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie, snowleopard
      
      Differential Revision: https://phabricator.haskell.org/D3428
      2c1312bd
  28. Apr 06, 2017
  29. Apr 05, 2017
  30. Apr 04, 2017
  31. Mar 24, 2017
  32. Mar 09, 2017
Loading