1. 10 Nov, 2011 1 commit
  2. 08 Nov, 2011 1 commit
  3. 09 Aug, 2011 1 commit
  4. 07 Aug, 2011 1 commit
  5. 03 Aug, 2011 5 commits
  6. 27 Jun, 2011 1 commit
  7. 22 Jun, 2011 3 commits
  8. 01 Jun, 2011 1 commit
  9. 08 May, 2011 1 commit
  10. 05 May, 2011 1 commit
  11. 01 May, 2011 1 commit
  12. 29 Apr, 2011 1 commit
  13. 27 Apr, 2011 1 commit
  14. 23 Apr, 2011 3 commits
  15. 22 Apr, 2011 2 commits
  16. 21 Apr, 2011 1 commit
  17. 12 Apr, 2011 1 commit
    • Simon Marlow's avatar
      Change the way module initialisation is done (#3252, #4417) · a52ff761
      Simon Marlow authored
      Previously the code generator generated small code fragments labelled
      with __stginit_M for each module M, and these performed whatever
      initialisation was necessary for that module and recursively invoked
      the initialisation functions for imported modules.  This appraoch had
      drawbacks:
      
       - FFI users had to call hs_add_root() to ensure the correct
         initialisation routines were called.  This is a non-standard,
         and ugly, API.
      
       - unless we were using -split-objs, the __stginit dependencies would
         entail linking the whole transitive closure of modules imported,
         whether they were actually used or not.  In an extreme case (#4387,
         #4417), a module from GHC might be imported for use in Template
         Haskell or an annotation, and that would force the whole of GHC to
         be needlessly linked into the final executable.
      
      So now instead we do our initialisation with C functions marked with
      __attribute__((constructor)), which are automatically invoked at
      program startup time (or DSO load-time).  The C initialisers are
      emitted into the stub.c file.  This means that every time we compile
      with -prof or -hpc, we now get a stub file, but thanks to #3687 that
      is now invisible to the user.
      
      There are some refactorings in the RTS (particularly for HPC) to
      handle the fact that initialisers now get run earlier than they did
      before.
      
      The __stginit symbols are still generated, and the hs_add_root()
      function still exists (but does nothing), for backwards compatibility.
      a52ff761
  18. 08 Apr, 2011 1 commit
  19. 13 Mar, 2011 1 commit
  20. 07 Mar, 2011 1 commit
  21. 01 Mar, 2011 1 commit
    • Sergei Trofimovich's avatar
      configure: amend sanity check · e45b7db2
      Sergei Trofimovich authored
      As we perform some mangling of original --build/--host/--target
      params we should check the result of mangling against desired triplet,
      not originally passed by user.
      
      Patch also adds mangled triplets to the output.
      e45b7db2
  22. 25 Feb, 2011 1 commit
  23. 23 Feb, 2011 1 commit
  24. 11 Feb, 2011 1 commit
    • Ian Lynagh's avatar
      Fix platform detection in bindists · 650d6440
      Ian Lynagh authored
      In a bindist, we generate files like the hsc2hs wrapper.
      This means we need to have the right values for the variables like
      CONF_GCC_LINKER_OPTS_STAGE1 which in turn means we need to know what
      platform we're on.
      650d6440
  25. 10 Feb, 2011 1 commit
  26. 19 Jan, 2011 1 commit
  27. 24 Jan, 2011 1 commit
  28. 13 Jan, 2011 1 commit
  29. 07 Jan, 2011 1 commit
    • Simon Marlow's avatar
      In configure, test that GHC generates code for the correct platform (#4819) · c5dbacba
      Simon Marlow authored
      Patch supplied by the bug reporter, tidied up by me.
      
      $ ./configure --with-ghc=$HOME/fp/bin/i386-unknown-linux/ghc --build=x86_64-unknown-linux
      checking for gfind... no
      checking for find... /usr/bin/find
      checking for sort... /usr/bin/sort
      checking for GHC version date... inferred 7.1.20110107
      checking version of ghc... 7.0.1
      checking build system type... x86_64-unknown-linux-gnu
      checking host system type... x86_64-unknown-linux-gnu
      checking target system type... x86_64-unknown-linux-gnu
      Host platform inferred as: i386-unknown-linux
      Target platform inferred as: i386-unknown-linux
      This GHC (/home/simonmar/fp/bin/i386-unknown-linux/ghc) does not generate code for the build platform
         GHC target platform    : i386-unknown-linux
         Desired build platform : x86_64-unknown-linux
      c5dbacba
  30. 06 Jan, 2011 1 commit
  31. 04 Jan, 2011 1 commit
    • Ian Lynagh's avatar
      Define cTargetArch and start to use it rather than ifdefs · f0e3d790
      Ian Lynagh authored
      Using Haskell conditionals means the compiler sees all the code, so
      there should be less rot of code specific to uncommon arches. Code
      for other platforms should still be optimised away, although if we want
      to support targetting other arches then we'll need to compile it
      for-real anyway.
      f0e3d790