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
      3769e3a8
  2. 03 Oct, 2017 1 commit
  3. 30 Sep, 2017 1 commit
    • Moritz Angermann's avatar
      Allow libffi snapshots · e515c7f3
      Moritz Angermann authored
      This is rather annoying. I'd prefer to have a stable release to
      use. However libffi-3.2.1 has been released November 12, 2014, and
      libffi-4 is TBD. See also https://github.com/libffi/libffi/issues/296
      
      The core reason for this change is that llvm changed the supported
      assembly to unified syntax, which libffi-3.2.1 does not use, and hence
      fails to compile for arm with llvm. For refence, see the following
      issue: https://github.com/libffi/libffi/issues/191.
      
      This diff contains a script to generate a tarball for the
      `libffi-tarballs` repository from the libffi GitHub repository; as well
      as the necessary changes to the build system.
      
      Updates libffi-tarballs submodule.
      
      Reviewers: austin, bgamari, hvr
      
      Subscribers: hvr, erikd, rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3574
      e515c7f3
  4. 11 May, 2017 2 commits
  5. 22 May, 2016 1 commit
  6. 08 Dec, 2015 1 commit
  7. 22 Nov, 2015 1 commit
    • Herbert Valerio Riedel's avatar
      Follow-up fix to 3e2a4eef (re #11109) · 4976ab2b
      Herbert Valerio Riedel authored
      Using `:` as sed-`s`-expr separator is not a good idea on windows, as
      this can result in an expression like
      
         's:@INSTALL@:$(subst ../install-sh,E:/msys64/home/foo/ghc/install-sh,@INSTALL@):g'
      
      (note the `E:/` drive component)
      
      Using `|` instead of `:` has less risk of collision with the substitution expression
      4976ab2b
  8. 19 Nov, 2015 1 commit
  9. 20 Aug, 2015 1 commit
  10. 02 Apr, 2015 1 commit
    • Sergei Trofimovich's avatar
      libffi: backport noexecstack fix for x86/win32.S · 47f821a1
      Sergei Trofimovich authored
      Got detected by gentoo's QA preinstall hook:
       * RWX --- --- usr/lib/ghc-7.10.1/rts/libffi.so.6.0.2
       * RWX --- --- usr/lib/ghc-7.10.1/rts/libffi.so
       * RWX --- --- usr/lib/ghc-7.10.1/rts/libffi.so.6
       * !WX --- --- usr/lib/ghc-7.10.1/rts/libCffi.a:win32.o
       * !WX --- --- usr/lib/ghc-7.10.1/rts/libCffi_p.a:win32.o
       * !WX --- --- usr/lib/ghc-7.10.1/rts/libCffi_l.a:win32.o
       * !WX --- --- usr/lib/ghc-7.10.1/rts/libCffi_debug.a:win32.o
       * !WX --- --- usr/lib/ghc-7.10.1/rts/libCffi_thr.a:win32.o
       * !WX --- --- usr/lib/ghc-7.10.1/rts/libCffi_thr_debug.a:win32.o
       * !WX --- --- usr/lib/ghc-7.10.1/rts/libCffi_thr_l.a:win32.o
       * !WX --- --- usr/lib/ghc-7.10.1/rts/libCffi_thr_p.a:win32.o
      Signed-off-by: default avatarSergei Trofimovich <siarheit@google.com>
      
      Test Plan: built ghc-7.10.1 binary and checked stacks as NX
      
      Reviewers: rwbarton, hvr, austin
      
      Reviewed By: austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D764
      
      GHC Trac Issues: #10208
      47f821a1
  11. 12 Mar, 2015 1 commit
    • Erik de Castro Lopo's avatar
      Use the gold linker for linux/ARM and android/ARM targets. · 71fcc4c0
      Erik de Castro Lopo authored
      Fixes #8976 and #9873 by making use of the Binutils ld.gold
      linker explicit whenever the target is linux/ARM or android/ARM.
      This does not affect iOS where Apple provides its own linker.
      
      In order to achieve this, we need to add `-fuse-ld=gold` to
      the SettingsCCompilerLinkFlags setting and set
      SettingsLdCommand to `ld.gold` (or `${target}-ld.gold` when
      cross-compiling). In addition, simplifying the use of
      `$(CONF_GCC_LINKER_OPTS_STAGEn)`.
      
      This patch was tested by ensuring that the following worked
      as expected:
      
        * Native builds on linux/x86_64 (nothing changed).
        * Native builds on linux/arm (and uses the gold linker).
        * Linux to linux/arm cross compiles (and uses the cross
          gold linker).
      
      Contributions by Ben Gamari, Joachim Breitner and Reid Barton.
      
      Reviewers: nomeata, bgamari, austin, rwbarton
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D715
      
      GHC Trac Issues: #8976 #9873
      71fcc4c0
  12. 27 Dec, 2014 1 commit
  13. 25 Oct, 2014 1 commit
  14. 21 Sep, 2014 1 commit
  15. 01 Oct, 2013 1 commit
  16. 30 Jul, 2013 1 commit
  17. 03 Jul, 2013 1 commit
    • ian@well-typed.com's avatar
      Change the ranlib detection · c548fec4
      ian@well-typed.com authored
      On Windows, the ranlib in the path may not be the right ranlib (it may
      be the 32bit ranlib when we are making a Win64 compiler, or vice-versa).
      Therefore we can't leave it up to libffi to detect the right ranlib, but
      need to tell it which ranlib to use. This means that we need to find
      ranlib even if we don't actually need it ourselves.
      c548fec4
  18. 22 Jun, 2013 1 commit
  19. 09 May, 2013 1 commit
  20. 30 Nov, 2012 2 commits
  21. 26 May, 2012 1 commit
  22. 04 May, 2012 1 commit
  23. 30 Jan, 2012 1 commit
  24. 08 Dec, 2011 1 commit
    • PHO's avatar
      Resurrect UseLibFFIForAdjustors from bitrot. · 616b6697
      PHO authored
      * Pass -Irts/dist/build to the C preprocessor to expose libffi headers (ffi.h and ffitarget.h) to foreign import wrappers during the building process of GHC itself.
      * Install libffi headers into $(ghcheaderdir) just like any other C headers. Otherwise an installed GHC can't find them when it wants to compile foreign import wrappers.
      * Include libffi headers in the bindist for the same reason.
      616b6697
  25. 02 Dec, 2011 1 commit
    • Ian Lynagh's avatar
      Use touchy rather than touch when building on Windows · 2694bb74
      Ian Lynagh authored
      With Windows 7 in a vitrual box VM on OS X, some very odd things happen
      with dates and time stamps when SSHing into cygwin. e.g. here the
      "Change" time is in the past:
      
      $ date; touch foo; stat foo
      Fri Dec  2 16:58:07 GMTST 2011
        File: `foo'
        Size: 0               Blocks: 0          IO Block: 65536  regular
      empty file
      Device: 540aba0bh/1409989131d   Inode: 562949953592977  Links: 1
      Access: (0644/-rw-r--r--)  Uid: ( 1000/     ian)   Gid: (  513/    None)
      Access: 2011-12-02 16:58:07.414457900 +0000
      Modify: 2011-12-02 16:58:07.414457900 +0000
      Change: 2011-12-02 16:58:03.495141800 +0000
       Birth: 2011-12-02 16:57:57.731469900 +0000
      
      And if we copy such a file, then the copy is older (as determined by the
      "Modify" time) than the original:
      
      $ date; touch foo; stat foo; cp foo bar; stat bar
      Fri Dec  2 16:59:10 GMTST 2011
        File: `foo'
        Size: 0               Blocks: 0          IO Block: 65536  regular
      empty file
      Device: 540aba0bh/1409989131d   Inode: 1407374883725128  Links: 1
      Access: (0644/-rw-r--r--)  Uid: ( 1000/     ian)   Gid: (  513/    None)
      Access: 2011-12-02 16:59:10.118457900 +0000
      Modify: 2011-12-02 16:59:10.118457900 +0000
      Change: 2011-12-02 16:59:06.189477700 +0000
       Birth: 2011-12-02 16:57:57.731469900 +0000
        File: `bar'
        Size: 0               Blocks: 0          IO Block: 65536  regular
      empty file
      Device: 540aba0bh/1409989131d   Inode: 281474976882512  Links: 1
      Access: (0644/-rw-r--r--)  Uid: ( 1000/     ian)   Gid: (  513/    None)
      Access: 2011-12-02 16:59:06.394555800 +0000
      Modify: 2011-12-02 16:59:06.394555800 +0000
      Change: 2011-12-02 16:59:06.395532400 +0000
       Birth: 2011-12-02 16:58:40.921899600 +0000
      
      This means that make thinks that things are out of date when it
      shouldn't, so reinvokes itself repeatedly until the MAKE_RESTARTS
      infinite-recursion test triggers.
      
      The touchy program, like most other programs, creates files with both
      Modify and Change in the past, which is still a little odd, but is
      consistent, so doesn't break make.
      2694bb74
  26. 30 Nov, 2011 2 commits
  27. 19 Nov, 2011 1 commit
    • Ian Lynagh's avatar
      Improve the way we call "rm" in the build system; fixes trac #4916 · 80e9070c
      Ian Lynagh authored
      We avoid calling "rm -rf" with no file arguments; this fixes cleaning
      on Solaris, where that fails.
      
      We also check for suspicious arguments: anything containing "..",
      starting "/", or containing a "*" (you need to call $(wildcard ...)
      yourself now if you really want globbing). This should make things
      a little safer.
      80e9070c
  28. 09 Nov, 2011 1 commit
  29. 08 Nov, 2011 1 commit
  30. 16 Oct, 2011 1 commit
  31. 14 Oct, 2011 2 commits
  32. 06 Oct, 2011 2 commits
  33. 23 Apr, 2011 2 commits
  34. 22 Apr, 2011 1 commit
    • Ian Lynagh's avatar
      Tweak build rules for libffi · 0d729992
      Ian Lynagh authored
      We were doing
          echo $(HOSTPLATFORM) | sed 's/i[567]86/i486/g'
      but the only x86 value HOSTPLATFORM can have is i386.
      
      We now tell libffi its build platform again, but we now tell it it's
      $(BUILDPLATFORM) rather than $(HOSTPLATFORM).
      0d729992