1. 25 Mar, 2019 1 commit
    • Takenobu Tani's avatar
      Update Wiki URLs to point to GitLab · 3769e3a8
      Takenobu Tani authored
      This moves all URL references to Trac Wiki to their corresponding
      GitLab counterparts.
      This substitution is classified as follows:
      1. Automated substitution using sed with Ben's mapping rule [1]
          Old: ghc.haskell.org/trac/ghc/wiki/XxxYyy...
          New: gitlab.haskell.org/ghc/ghc/wikis/xxx-yyy...
      2. Manual substitution for URLs containing `#` index
          Old: ghc.haskell.org/trac/ghc/wiki/XxxYyy...#Zzz
          New: gitlab.haskell.org/ghc/ghc/wikis/xxx-yyy...#zzz
      3. Manual substitution for strings starting with `Commentary`
          Old: Commentary/XxxYyy...
          New: commentary/xxx-yyy...
      See also !539
      [1]: https://gitlab.haskell.org/bgamari/gitlab-migration/blob/master/wiki-mapping.json
  2. 15 Mar, 2019 1 commit
  3. 06 Mar, 2019 1 commit
    • Ben Gamari's avatar
      Rip out object splitting · 37f257af
      Ben Gamari authored
      The splitter is an evil Perl script that processes assembler code.
      Its job can be done better by the linker's --gc-sections flag. GHC
      passes this flag to the linker whenever -split-sections is passed on
      the command line.
      This is based on @DemiMarie's D2768.
      Fixes Trac #11315
      Fixes Trac #9832
      Fixes Trac #8964
      Fixes Trac #8685
      Fixes Trac #8629
  4. 28 Jan, 2019 1 commit
    • Alec Theriault's avatar
      Fix incorrectly named configure options · b89b6e71
      Alec Theriault authored
      Although we should use 'AC_ARG_ENABLE' for boolean flags, it also
      means options get named '--enable-*', not '--with-*'. This should
      unbreak the --with-intree-gmp option.
  5. 23 Jan, 2019 1 commit
    • Alec Theriault's avatar
      Hadrian: support in-tree GMP · efc95841
      Alec Theriault authored
      This adds top-level configure flags '--with-intree-gmp' and
      '--with-framework-preferred', both of which are especially relevant
      on MacOS.
      Besides gaining two new flags, Hadrian also had to be taught what to
      do with the 'framework' in .cabal files.
      Test Plan:
      ./boot && ./configure --with-intree-gmp && ./hadrian/build.sh
      ./boot && ./configure --with-gmp-framework-preferred && ./hadrian/build.sh # on macos
      Reviewers: carter, snowleopard, alpmestan, hvr, goldfire, bgamari
      Subscribers: rwbarton, erikd
      GHC Trac Issues: #16001
      Differential Revision: https://phabricator.haskell.org/D5417
  6. 01 Jan, 2019 1 commit
  7. 26 Dec, 2018 1 commit
    • Sergei Trofimovich's avatar
      aclocal.m4: drop obsolete -fno-stack-protector · 29ecb520
      Sergei Trofimovich authored
      Initially -fno-stack-protector was added for openbsd specifically for ghc-6.5:
          changeset:f638fdfe (2006)
      and later it was extended to cover osx:
          changeset:c2cd83e7 (2009)
      None of the reports hint at exact breakage. I guess both happened
      in -fvia-C mode where GHC's Evil Mangler had a chance to mangle
      stack canaries generated by fstack-protector.
      ghc has no evil mangler anymore and the change is not needed
      at least for C codegen.
      validated the patch on OpenBSD-6.4. No new failures compared to
      clean master branch.
      Signed-off-by: default avatarSergei Trofimovich <slyfox@gentoo.org>
      Test Plan: validated on OpenBSD
      Reviewers: bgamari
      Subscribers: rwbarton, erikd, carter
      GHC Trac Issues: #16046
      Differential Revision: https://phabricator.haskell.org/D5465
  8. 13 Dec, 2018 1 commit
    • Ben Gamari's avatar
      configure: Disable LD_NO_GOLD logic when cross-compiling · 0d7fb471
      Ben Gamari authored
      This is generally terrible: see #16025. In short, we previously just blindly
      used an un-prefixed ld for LD_NO_GOLD. This is blatantly wrong. Ideally we would
      actually verify that ld.gold is indeed broken (by binutils #22266) before
      insisting on using another linker but sadly we cannot do so when cross-compiling
      since this would require running host code.
      For now we simply disable the LD_NO_GOLD logic when cross-compiling and hope
      that the user has verified that their ld.gold isn't affected by #22266.
  9. 22 Nov, 2018 1 commit
  10. 29 Oct, 2018 1 commit
  11. 15 Oct, 2018 1 commit
  12. 25 Sep, 2018 1 commit
  13. 20 Sep, 2018 1 commit
  14. 28 Jul, 2018 1 commit
  15. 17 Jul, 2018 1 commit
  16. 16 Jul, 2018 1 commit
  17. 08 Jun, 2018 1 commit
  18. 19 Apr, 2018 1 commit
    • Ben Gamari's avatar
      configure: Use -Werror to check for existence of -no-pie · cbd73bbb
      Ben Gamari authored
      Clang throws a warning instead of an error when it is passed -no-pie,
          clang: warning: argument unused during compilation: '-nopie'
      Consequently configure concludes that it supports -no-pie. However, this
      will fail when used with -Werror. The solution is to simply use -Werror
      in the configure check.
      Thanks to @goldfire for reporting this.
      Reviewers: hvr
      Subscribers: thomie, carter, goldfire
      Differential Revision: https://phabricator.haskell.org/D4557
  19. 17 Apr, 2018 1 commit
    • Alp Mestanogullari's avatar
      Introduce a $tooldir variable for nicer toolchain detection on Windows · 5d768464
      Alp Mestanogullari authored
      This patch affects several files that affect how we detect mingw and perl
      on Windows. The initial motivation is:
      where, with Hadrian building relocatable (non-inplace) GHCs, the current
      detection mechanism falls short by e.g only trying $topdir/../mingw. But
      in Hadrian, for reasons given in that issue, we would need to store e.g mingw
      under $topdir/../../mingw except for binary distributions, where we want
      to follow the existing structure, in which case $topdir/../mingw is correct. So
      we need to support both, which is what this patch hopefully implements.
      Test Plan: ./validate
      Reviewers: Phyx, hvr, bgamari, erikd
      Reviewed By: Phyx
      Subscribers: snowleopard, thomie, carter
      Differential Revision: https://phabricator.haskell.org/D4598
  20. 27 Mar, 2018 1 commit
  21. 25 Mar, 2018 1 commit
  22. 19 Mar, 2018 1 commit
  23. 17 Mar, 2018 2 commits
    • Sergei Trofimovich's avatar
      aclocal.m4: add OSHurd (debian patch) · 0693b0b0
      Sergei Trofimovich authored
      ghc treats OSUnknown (and GNU/Hurd) as non-ELF target.
      This causes panic in native codegenerator when trying
      to build PIC code:
        -- all other platforms
        howToAccessLabel dflags _ _ _ _ _
              | not (positionIndependent dflags)
              = AccessDirectly
              | otherwise
              = panic "howToAccessLabel: PIC not defined for this platform"
      This change declares new 'OSHurd' and marks it as an
      ELF target. Fixes building ghc-stage2 on i686-unknown-gnu0.9.
      Patch provided by "Pino" via Samuel Thibault and taken from
      Signed-off-by: default avatarSergei Trofimovich <slyfox@gentoo.org>
    • Sergei Trofimovich's avatar
      aclocal.m4: allow more GNU/Hurd tuples · 1522cf05
      Sergei Trofimovich authored
      Running plain ./configure fails on hurd because
      ./config.guess reports unrecognised tuple:
          $ ./config.guess
      The change makes the following target configure:
      $ ./configure --target=i686-unknown-gnu0.9
      Signed-off-by: default avatarSergei Trofimovich <slyfox@gentoo.org>
  24. 08 Mar, 2018 1 commit
  25. 02 Mar, 2018 1 commit
  26. 21 Feb, 2018 1 commit
  27. 15 Feb, 2018 1 commit
  28. 03 Feb, 2018 1 commit
    • Ben Gamari's avatar
      ghc-prim: Emulate C11 atomics when not available · 217e4170
      Ben Gamari authored
      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
  29. 25 Dec, 2017 1 commit
  30. 21 Nov, 2017 1 commit
    • Ben Gamari's avatar
      configure: Fix ar probed flags · 66d17995
      Ben Gamari authored
      FP_PROG_AR_ARGS appears to be probing for what flags to use to build an
      archive with an index. However, none of the flags that it probed
      previously were valid as they all started with `c`, which isn't a mode
      character. This went unnoticed until someone attempted to use LLVM ar
      since we have a special case for gnu ar.
      Additionally, we work around a bug in llvm-ar 5.0 where ar will exit
      with code 0 even if it fails to parse the command line. Silliness.
      I believe these should rather all be mode `q` however I'll need to test
      this on a few platforms to be certain.
      Test Plan: Validate on OS X, BSD, and Linux with binutils and llvm ar
      Reviewers: hvr
      Subscribers: rwbarton, thomie, erikd
      Differential Revision: https://phabricator.haskell.org/D4214
  31. 15 Nov, 2017 1 commit
    • Moritz Angermann's avatar
      Adds rts/rts.cabal.in file · 5dea62fb
      Moritz Angermann authored
      This is in preparation for cabalification of the `rts`. To be actually
      able to parse this file, a rather recent Cabal is required. One after
      commit 357d49d of haskell/cabal. The relevant PR to support the new
      `asm-sources` and `cmm-sources` is haskell/cabal/pull/4857.
      Not that this does *not* allow cabal to build the RTS. It does however
      provide enough information such that cabal can `copy` and `register`
      the package properly in the package database, if all the build
      artifacts have been build properly.
      As such it does not require any custom handling of the `rts` package.
      As the rts as well as all the other packages built by the GHC built
      system are built outside of cabal anyway.
      Reviewers: bgamari, hvr, erikd, simonmar
      Reviewed By: bgamari
      Subscribers: rwbarton, thomie, erikd
      Differential Revision: https://phabricator.haskell.org/D4174
  32. 06 Nov, 2017 1 commit
    • Peter Trommler's avatar
      Update autoconf test for gcc to require 4.7 and up · 59de2909
      Peter Trommler authored
      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
      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
  33. 26 Oct, 2017 1 commit
  34. 16 Oct, 2017 1 commit
    • Ben Gamari's avatar
      configure: Fix CC version check on Apple compilers · 71a42356
      Ben Gamari authored
      It seems that some Apple LLVM wrappers emit multiple messages containing
      the string "version", which we previously used to find the version
      number.  For instance,
          Configured with: --prefix=/Applications/Xcode.app/Contents/...
          Apple LLVM version 9.0.0 (clang-900.0.37)
          Target: x86_64-apple-darwin16.7.0
          Thread model: posix
          InstalledDir: /Applications/Xcode.app/Contents/Developer/...
          Found CUDA installation: /usr/local/cuda, version 8.0
      We now take care to only look at the first occurrence of this string.
      New `sed` command due to @merijn.
      Test Plan: Validate on all the compilers
      Reviewers: austin, hvr
      Subscribers: rwbarton, thomie, merijn, erikd
      Differential Revision: https://phabricator.haskell.org/D4069
  35. 04 Oct, 2017 1 commit
  36. 29 Sep, 2017 1 commit
  37. 27 Sep, 2017 2 commits
    • Ben Gamari's avatar
      configure: Make sure we try all possible linkers · a10729f0
      Ben Gamari authored
      Previously if we had both ld.lld and ld.gold installed but a gcc which
      didn't support -fuse-ld=lld we would fail when trying ld.lld and fall
      immediately back to plain ld. Now we will try ld.gold as well. This was
      brought to light by #14280, where using ld.bfd resulted in a broken
      stage2 compiler.
      Test Plan: Configure
      Reviewers: angerman, hvr, austin
      Reviewed By: angerman
      Subscribers: rwbarton, thomie, erikd
      GHC Trac Issues: #14280
      Differential Revision: https://phabricator.haskell.org/D4038
    • Moritz Angermann's avatar
      GHC_LLVM_TARGET: Keep android OS · 07ddeaf7
      Moritz Angermann authored
      Our usual GHC_CONVERT_OS macro, will turn any andoird* into android.
      This however drops the essential androideabi part. As such for the
      GHC_LLVM_TARGET we only convert the VENDOR, not the OS.
      Reviewers: bgamari, austin, hvr
      Reviewed By: bgamari
      Subscribers: rwbarton, thomie, erikd
      Differential Revision: https://phabricator.haskell.org/D4031
  38. 26 Sep, 2017 1 commit