1. 05 Dec, 2019 11 commits
  2. 04 Dec, 2019 4 commits
    • Ben Gamari's avatar
      Elf: Fix link info note generation · f03a41d4
      Ben Gamari authored
      Previously we would use the `.int` assembler directive to generate
      32-bit words in the note section. However, `.int` is note guaranteed to
      produce 4-bytes; in fact, on some platforms (e.g. AArch64) it produces
      8-bytes. Use the `.4bytes` directive to avoid this.
      
      Moreover, we used the `.align` directive, which is quite platform
      dependent. On AArch64 it appears to not even be idempotent (despite what
      the documentation claims). `.balign` is consequentially preferred as it
      offers consistent behavior across platforms.
      f03a41d4
    • Ben Gamari's avatar
      Simplify uniqAway · 78b67ad0
      Ben Gamari authored
      This does two things:
      
       * Eliminate all uses of Unique.deriveUnique, which was quite easy to
         mis-use and extremely subtle.
      
       * Rename the previous "derived unique" notion to "local unique". This
         is possible because the only places where `uniqAway` can be safely
         used are those where local uniqueness (with respect to some
         InScopeSet) is sufficient.
      
       * Rework the implementation of VarEnv.uniqAway, as discussed in #17462.
         This should make the operation significantly more efficient than its
         previous iterative implementation..
      
      Metric Decrease:
          T9872c
          T12227
          T9233
          T14683
          T5030
          T12545
          hie002
      
      Metric Increase:
          T9961
      78b67ad0
    • Ben Gamari's avatar
      Drop Uniquable constraint for AnnTarget · 25019d18
      Ben Gamari authored
      This relied on deriveUnique, which was far too subtle to be safely
      applied. Thankfully the instance doesn't appear to be used so let's just
      drop it.
      25019d18
    • Ben Gamari's avatar
      users-guide: Add 8.12.1 release notes · 10caee7f
      Ben Gamari authored
      10caee7f
  3. 03 Dec, 2019 6 commits
  4. 02 Dec, 2019 19 commits
    • Sergei Trofimovich's avatar
      configure.ac: make cross-compiler detection stricter · 4cbd5b47
      Sergei Trofimovich authored
      Be more precise at detecting cross-compilation case.
      
      Before the change configuration
        $ ./configure --host=x86_64-pc-linux-gnu --target=x86_64-gentoo-linux-musl
      was not considered a cross-target. Even though libcs are different (`glibc` vs. `musl`).
      
      Without this patch build fails as:
      
      ```
      "inplace/bin/ghc-cabal" check libraries/integer-gmp
      "inplace/bin/ghc-cabal" configure libraries/integer-gmp dist-install \
          --with-ghc="/home/slyfox/dev/git/ghc/inplace/bin/ghc-stage1" \
          --with-ghc-pkg="/home/slyfox/dev/git/ghc/inplace/bin/ghc-pkg" \
          --disable-library-for-ghci --enable-library-vanilla --enable-library-for-ghci \
          --enable-library-profiling --enable-shared --with-hscolour="/usr/bin/HsColour" \
          --configure-option=CFLAGS="-Wall \
          -Werror=unused-but-set-variable -Wno-error=inline \
          -iquote /home/slyfox/dev/git/ghc/libraries/integer-gmp" \
          --configure-option=LDFLAGS="  " --configure-option=CPPFLAGS="   \
          " --gcc-options="-Wall     -Werror=unused-but-set-variable -Wno-error=inline -iquote /home/slyfox/dev/git/ghc/libraries/integer-gmp   \
          " --with-gcc="x86_64-gentoo-linux-musl-gcc" --with-ld="x86_64-gentoo-linux-musl-ld.gold" --with-ar="x86_64-gentoo-linux-musl-ar" \
          --with-alex="/usr/bin/alex" --with-happy="/usr/bin/happy"
      Configuring integer-gmp-1.0.2.0...
      configure: WARNING: unrecognized options: --with-compiler
      checking build system type... x86_64-pc-linux-gnu
      checking host system type... x86_64-pc-linux-gnu
      checking target system type... x86_64-pc-linux-gnu
      checking for gcc... /usr/lib/ccache/bin/x86_64-gentoo-linux-musl-gcc
      checking whether the C compiler works... yes
      checking for C compiler default output file name... a.out
      checking for suffix of executables...
      checking whether we are cross compiling... configure: error: in `/home/slyfox/dev/git/ghc/libraries/integer-gmp/dist-install/build':
      configure: error: cannot run C compiled programs.
      If you meant to cross compile, use `--host'.
      See `config.log' for more details
      make[1]: *** [libraries/integer-gmp/ghc.mk:5: libraries/integer-gmp/dist-install/package-data.mk] Error 1
      make: *** [Makefile:126: all] Error 2
      ```
      
      Note: here `ghc-stage1` is assumed to target `musl` target but is passed
      `glibc` toolchain. It happens because initial ./configure phase did not
      detect host/target as different.
      Signed-off-by: default avatarSergei Trofimovich <slyfox@gentoo.org>
      4cbd5b47
    • Ben Gamari's avatar
      gitlab-ci: Always build source tarball · b1c206fd
      Ben Gamari authored
      (cherry picked from commit 67b5de88ef923971f1980335137e3c7193213abd)
      b1c206fd
    • Ben Gamari's avatar
      gitlab-ci: Add release-x86_64-linux-deb9 job · 2b2370ec
      Ben Gamari authored
      (cherry picked from commit cbedb3c4a90649f474cb716842ba53afc5a642ca)
      2b2370ec
    • Ben Gamari's avatar
      testsuite: Simplify Python <3.5 fallback for TextIO · a0f09e23
      Ben Gamari authored
      (cherry picked from commit d092d859)
      a0f09e23
    • Ben Gamari's avatar
      gitlab-ci: Fix Windows bindist collection · 012f13b5
      Ben Gamari authored
      Apparently variable interpolation in the `artifacts.paths` key of
      `gitlab-ci.yml` doesn't work on Windows as it does on WIndows.
      
      (cherry picked from commit 100cc756)
      012f13b5
    • Ben Gamari's avatar
      gitlab-ci: Add Debian 10 builds · 38338757
      Ben Gamari authored
      38338757
    • Ben Gamari's avatar
      470ef0e7
    • Ben Gamari's avatar
      gitlab-ci: Set LANG on CentOS 7 · 6708b8e5
      Ben Gamari authored
      It otherwise seems to default to ascii
      6708b8e5
    • Ben Gamari's avatar
      gitlab-ci: pxz is unavailable on CentOS 7 · aec98a79
      Ben Gamari authored
      Fall back to xz
      aec98a79
    • Ben Gamari's avatar
      gitlab-ci: Bump Docker images · 37eb94b3
      Ben Gamari authored
      Installs pxz on Centos7
      
      (cherry picked from commit 86960e69)
      37eb94b3
    • Ben Gamari's avatar
      base: Fix <unistd.h> #include · f1f68824
      Ben Gamari authored
      Previously we were including <sys/unistd.h> which is available on glibc
      but not musl.
      
      (cherry picked from commit e44b695c)
      f1f68824
    • Ben Gamari's avatar
      gitlab-ci: Disable Sphinx build on Debian 8 · d402209a
      Ben Gamari authored
      The docutils version available appears to be too old to support the
      `table` directive's `:widths:` options.
      
      (cherry picked from commit 75764487)
      d402209a
    • Ben Gamari's avatar
      win32-init: Drop workaround for #17480 · 8ead967d
      Ben Gamari authored
      The `process` changes have now been merged into `hsc2hs`.
      
      (cherry picked from commit fa029f53)
      8ead967d
    • Ben Gamari's avatar
      gitlab-ci: Fix changelog linting logic · c500f652
      Ben Gamari authored
      c500f652
    • Ben Gamari's avatar
      Simplify: Fix pretty-printing of strictness · 038bedbc
      Ben Gamari authored
      A colleague recently hit the panic in Simplify.addEvals and I noticed
      that the message is quite unreadable due to incorrect pretty-printing.
      Fix this.
      038bedbc
    • Ben Gamari's avatar
      More Haddock syntax in GHC.Hs.Utils · bde48f8e
      Ben Gamari authored
      As suggested by RyanGlScott in !2163.
      bde48f8e
    • Brian Wignall's avatar
      Fix more typos · 717f3236
      Brian Wignall authored
      717f3236
    • Alan Zimmerman's avatar
      API Annotations: Unicode '->' on HsForallTy · 18baed64
      Alan Zimmerman authored
      The code fragment
      
        type family Proxy2' ∷ ∀ k → k → Type where
          Proxy2' = Proxy'
      
      Generates AnnRarrow instead of AnnRarrowU for the first →.
      
      Fixes #17519
      18baed64
    • Krzysztof Gogolewski's avatar
      Convert warnings into assertions · 65400314
      Krzysztof Gogolewski authored
      Since the invariants always hold in the testsuite, we can convert
      them to asserts.
      65400314