1. 12 Jun, 2019 32 commits
  2. 11 Jun, 2019 8 commits
    • Alp Mestanogullari's avatar
      testsuite/mk/boilerplate.mk: rename 'ghc-config-mk' to 'ghc_config_mk' · aad6115a
      Alp Mestanogullari authored
      Make/shell variable names which contain dashes can cause problems under
      some conditions. The 'ghc-config-mk' variable from testsuite/mk/boilerplate.mk
      that I made overridable (by Hadrian) in ba0aed2e was working as expected when
      our Hadrian/Linux job was based off the deb8 Docker image, but broke when
      I switched the job to use our deb9-based image, in 3d97bad6. The exact
      circumstances/tool versions that trigger this problem are unknown, but
      changing the variable's name to 'ghc_config_mk' lets us work around the issue.
      
      This fixes the annth_compunits and annth_make test failures that showed up
      when we switched the Hadrian/Linux job to use the deb9 environment.
      aad6115a
    • Ömer Sinan Ağacan's avatar
    • Ben Gamari's avatar
      rts/linker: Use mmapForLinker to map PLT · 0b7f81f5
      Ben Gamari authored
      The PLT needs to be located within a close distance of
      the code calling it under the small memory model.
      
      Fixes #16784.
      0b7f81f5
    • Ben Gamari's avatar
      rts/linker: Mmap into low memory on AArch64 · cf7f36ae
      Ben Gamari authored
      This extends mmapForLinker to use the same low-memory mapping
      strategy used on x86_64 on AArch64. See #16784.
      cf7f36ae
    • Alp Mestanogullari's avatar
      Hadrian: teach the RTS that PROFILING implies TRACING · 457fe789
      Alp Mestanogullari authored
      As discussed in #16744, both the Make and Hadrian build systems
      have special code to always pass -eventlog whenever -prof or -debug
      are passed. However, there is some similar logic in the RTS itself only
      for defining TRACING when the DEBUG macro is defined, but no such logic
      is implemented to define TRACING when the PROFILING macro is defined.
      This patch adds such a logic and therefore fixes #16744.
      457fe789
    • Alp Mestanogullari's avatar
    • Alec Theriault's avatar
      Make `haddock_testsuite` respect `--test-accept` · 45616133
      Alec Theriault authored
      Suppose you've made changes that affect the output of `haddockHtmlTest`
      so that the following is failing:
      
          ./hadrian/build.sh -c --only=haddockHtmlTest test
      
      Then, the following will accept new output for Haddock's test cases.
      
          ./hadrian/build.sh -c --only=haddockHtmlTest test --test-accept
      
      You still do need to make sure those new changes (which show up in
      Haddock's tree) get committed though.
      
      Fixes #16694
      45616133
    • Alp Mestanogullari's avatar
      Refine the GHCI macro into HAVE[_{INTERNAL, EXTERNAL}]_INTERPRETER · 39f50bff
      Alp Mestanogullari authored
      As discussed in #16331, the GHCI macro, defined through 'ghci' flags
      in ghc.cabal.in, ghc-bin.cabal.in and ghci.cabal.in, is supposed to indicate
      whether GHC is built with support for an internal interpreter, that runs in
      the same process. It is however overloaded in a few places to mean
      "there is an interpreter available", regardless of whether it's an internal
      or external interpreter.
      
      For the sake of clarity and with the hope of more easily being able to
      build stage 1 GHCs with external interpreter support, this patch splits
      the previous GHCI macro into 3 different ones:
      
      - HAVE_INTERNAL_INTERPRETER: GHC is built with an internal interpreter
      - HAVE_EXTERNAL_INTERPRETER: GHC is built with support for external interpreters
      - HAVE_INTERPRETER: HAVE_INTERNAL_INTERPRETER || HAVE_EXTERNAL_INTERPRETER
      39f50bff