Skip to content
Snippets Groups Projects
  1. Aug 26, 2022
  2. Nov 13, 2021
  3. Oct 29, 2021
    • John Ericson's avatar
      make build system: RTS should use dist-install not dist · 7b67724b
      John Ericson authored and Marge Bot's avatar Marge Bot committed
      This is the following find and replace:
      
       - `rts/dist` -> `rts/dist-install` # for paths
       - `rts_dist` -> `rts_dist-install` # for make rules and vars
       - `,dist` -> `,dist-install` # for make, just in rts/ghc.mk`
      
      Why do this? Does it matter when the RTS is just built once? The answer
      is, yes, I think it does, because I want the distdir--stage
      correspondence to be consistent.
      
      In particular, for #17191 and continuing from
      d5de970d I am going to make the headers
      (`rts/includes`) increasingly the responsibility of the RTS (hence their
      new location). However, those headers are current made for multiple
      stages. This will probably become unnecessary as work on #17191
      progresses and the compiler proper becomes more of a freestanding cabal
      package (e.g. a library that can be downloaded from Hackage and built
      without any autoconf). However, until that is finished, we have will
      transitional period where the RTS and headers need to agree on dirs for
      multiple stages.
      
      I know the make build system is going away, but it's not going yet, so I
      need to change it to unblock things :).
      7b67724b
  4. Jun 28, 2021
    • Peter Trommler's avatar
      Fix libffi on PowerPC · 46c2d0b0
      Peter Trommler authored and Marge Bot's avatar Marge Bot committed
      Update submodule libffi-tarballs to upstream commit 4f9e20a.
      
      Remove C compiler flags that suppress warnings in the RTS. Those
      warnings have been fixed by libffi upstream.
      
      Fixes #19885
      46c2d0b0
  5. Mar 25, 2019
    • Takenobu Tani's avatar
      Update Wiki URLs to point to GitLab · 3769e3a8
      Takenobu Tani authored and Marge Bot's avatar Marge Bot committed
      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
  6. Oct 03, 2017
  7. Sep 30, 2017
    • Moritz Angermann's avatar
      Allow libffi snapshots · e515c7f3
      Moritz Angermann authored and Ben Gamari's avatar Ben Gamari committed
      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
  8. May 11, 2017
  9. May 22, 2016
  10. Dec 08, 2015
  11. Nov 22, 2015
    • 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
  12. Nov 19, 2015
  13. Aug 20, 2015
  14. Apr 02, 2015
    • 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
  15. Mar 12, 2015
    • 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
  16. Dec 27, 2014
  17. Oct 25, 2014
  18. Sep 21, 2014
  19. Oct 01, 2013
  20. Jul 30, 2013
  21. Jul 03, 2013
    • Ian Lynagh's avatar
      Change the ranlib detection · c548fec4
      Ian Lynagh 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
  22. Jun 22, 2013
  23. May 09, 2013
    • Ian Lynagh's avatar
      Fix the name of libffi · ba00c33b
      Ian Lynagh authored
      On Windows, we need to keep the DLL called libffi-6.dll (rather than
      libffi.dll) or Windows can't find it.
      ba00c33b
  24. Nov 30, 2012
  25. May 26, 2012
  26. May 04, 2012
  27. Jan 30, 2012
  28. Dec 08, 2011
    • 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
  29. Dec 02, 2011
    • 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
  30. Nov 30, 2011
  31. Nov 19, 2011
    • 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
  32. Nov 09, 2011
  33. Nov 08, 2011
  34. Oct 16, 2011
  35. Oct 14, 2011
  36. Oct 06, 2011
Loading