1. 11 Nov, 2004 1 commit
  2. 10 Nov, 2004 2 commits
  3. 09 Nov, 2004 1 commit
  4. 08 Nov, 2004 1 commit
  5. 15 Oct, 2004 1 commit
  6. 08 Oct, 2004 1 commit
    • ross's avatar
      [project @ 2004-10-08 10:16:14 by ross] · 8af72d7e
      ross authored
      Make the sed command turning '#define PACKAGE_FOO "blah"' into
      '/* #undef PACKAGE_FOO */' more portable, though a tad less precise.
      
      The use of \| deep inside the pattern is a GNU extension (from sed 2.05).
      8af72d7e
  7. 07 Oct, 2004 1 commit
    • wolfgang's avatar
      [project @ 2004-10-07 15:54:03 by wolfgang] · b4d045ae
      wolfgang authored
      Position Independent Code and Dynamic Linking Support, Part 1
      
      This commit allows generation of position independent code (PIC) that fully supports dynamic linking on Mac OS X and PowerPC Linux.
      Other platforms are not yet supported, and there is no support for actually linking or using dynamic libraries - so if you use the -fPIC or -dynamic code generation flags, you have to type your (platform-specific) linker command lines yourself.
      
      
      nativeGen/PositionIndependentCode.hs:
      New file. Look here for some more comments on how this works.
      
      cmm/CLabel.hs:
      Add support for DynamicLinkerLabels and PIC base labels - for use inside the NCG.
      needsCDecl: Case alternative labels now need C decls, see the codeGen/CgInfoTbls.hs below for details
      
      cmm/Cmm.hs:
      Add CmmPicBaseReg (used in NCG),
      and CmmLabelDiffOff (used in NCG and for offsets in info tables)
      
      cmm/CmmParse.y:
      support offsets in info tables
      
      cmm/PprC.hs:
      support CmmLabelDiffOff
      Case alternative labels now need C decls (see the codeGen/CgInfoTbls.hs for details), so we need to pprDataExterns for info tables.
      
      cmm/PprCmm.hs:
      support CmmLabelDiffOff
      
      codeGen/CgInfoTbls.hs:
      no longer store absolute addresses in info tables, instead, we store offsets.
      Also, for vectored return points, emit the alternatives _after_ the vector table. This is to work around a limitation in Apple's as, which refuses to handle label differences where one label is at the end of a section. Emitting alternatives after vector info tables makes sure this never happens in GHC generated code. Case alternatives now require prototypes in hc code, though (see changes in PprC.hs, CLabel.hs).
      
      main/CmdLineOpts.lhs:
      Add a new option, -fPIC.
      
      main/DriverFlags.hs:
      Pass the correct options for PIC to gcc, depending on the platform. Only for powerpc for now.
      
      nativeGen/AsmCodeGen.hs:
      Many changes...
      Mac OS X-specific management of import stubs is no longer, it's now part of a general mechanism to handle such things for all platforms that need it (Darwin [both ppc and x86], Linux on ppc, and some platforms we don't support).
      Move cmmToCmm into its own monad which can accumulate a list of imported symbols. Make it call cmmMakeDynamicReference at the right places.
      
      nativeGen/MachCodeGen.hs:
      nativeGen/MachInstrs.hs:
      nativeGen/MachRegs.lhs:
      nativeGen/PprMach.hs:
      nativeGen/RegAllocInfo.hs:
      Too many changes to enumerate here, PowerPC specific.
      
      nativeGen/NCGMonad.hs:
      NatM still tracks imported symbols, as more labels can be created during code generation (float literals, jump tables; on some platforms all data access has to go through the dynamic linking mechanism).
      
      driver/mangler/ghc-asm.lprl:
      Mangle absolute addresses in info tables to offsets.
      Correctly pass through GCC-generated PIC for Mac OS X and powerpc linux.
      
      includes/Cmm.h:
      includes/InfoTables.h:
      includes/Storage.h:
      includes/mkDerivedConstants.c:
      rts/GC.c:
      rts/GCCompact.c:
      rts/HeapStackCheck.cmm:
      rts/Printer.c:
      rts/RetainerProfile.c:
      rts/Sanity.c:
      Adapt to the fact that info tables now contain offsets.
      
      rts/Linker.c:
      Mac-specific: change machoInitSymbolsWithoutUnderscore to support PIC.
      b4d045ae
  8. 04 Oct, 2004 1 commit
  9. 19 Sep, 2004 1 commit
    • panne's avatar
      [project @ 2004-09-19 09:15:03 by panne] · f271c1f8
      panne authored
      Use some sed magic to avoid PACKAGE_FOO clashes introduced by the autoconf
      cleanup yesterday. Another option would have been using a plain "AC_INIT" in
      fptools/configure.ac (and probably the same for fptools/libraries/configure.ac),
      so only "leaf configure.ac"s have package info. Not quite sure what would be the
      nicest way to handle this yet...
      f271c1f8
  10. 09 Sep, 2004 1 commit
  11. 07 Sep, 2004 2 commits
  12. 06 Sep, 2004 2 commits
  13. 02 Sep, 2004 2 commits
  14. 22 Aug, 2004 1 commit
  15. 21 Aug, 2004 1 commit
    • panne's avatar
      [project @ 2004-08-21 12:47:17 by panne] · c320276c
      panne authored
      Moved createAdjustor and freeHaskellFunctionPtr to a header visible in
      *.hc code.  The whole header layout is a little bit baroque, IMHO...
      c320276c
  16. 16 Aug, 2004 2 commits
    • simonpj's avatar
      [project @ 2004-08-16 16:14:59 by simonpj] · 5938a5f3
      simonpj authored
      stg_interp_constr_entry and friends don't have info tables, so declare
      them using RTS_FUN() rather than RTS_ENTRY().
      5938a5f3
    • simonmar's avatar
      [project @ 2004-08-16 11:17:20 by simonmar] · d6174f50
      simonmar authored
      Add a config.h to ease the transition.  Now if you include config.h
      you get a warning instead of a failure:
      
      In file included from System/Posix/Internals.hs:24:
      /playpen/ghc/nightly/HEAD-cam-02-unx/i386-unknown-linux/ghc/includes/config.h:4: warning: #warning config.h is deprecated; please use ghcconfig.h instead
      d6174f50
  17. 13 Aug, 2004 4 commits
  18. 12 Apr, 2004 1 commit
    • panne's avatar
      [project @ 2004-04-12 16:26:40 by panne] · cc77a7ba
      panne authored
      Fixed a long-standing buglet in the signatures of hs_free_stable_ptr
      and hs_free_fun_ptr, both had a superfluous "*". Now everything
      conforms to the FFI addendum.
      cc77a7ba
  19. 23 Mar, 2004 1 commit
  20. 08 Mar, 2004 2 commits
  21. 01 Mar, 2004 1 commit
    • simonmar's avatar
      [project @ 2004-03-01 14:18:35 by simonmar] · a20ec0ce
      simonmar authored
      Threaded RTS improvements:
      
        - Make the main_threads list doubly linked.  Have threads
          remove themselves from this list when they complete, rather
          than searching for completed main threads each time around
          the scheduler loop.  This removes an O(n) loop from the
          scheduler, but adds some new constraints (basically completed
          threads must remain on the run queue until dealt with, including
          threads which have been killed by an async exception).
      
        - Add a pointer from the TSO to the StgMainThread struct, for
          main threads.  This avoids a number of places where we had
          to traverse the list of main threads to find the right one,
          including one place in the scheduler loop.  Adding a field to
          a TSO is cheap.
      
        - taskStart: we should be resetting the startingWorkerThread flag
          in here.  Not sure why we aren't; maybe this got lost at some point.
      
        - Use the BlockedOnCCall flags in the non-threaded RTS too.  Q: what
          should happen if a thread does a foreign call which re-enters the
          RTS, and then sends an async exception to the original thread?
          Answer: it should deadlock, which it does in the threaded RTS, and
          this commit makes it do so in the non-threaded RTS too (see
          testsuite/tests/concurrent/should_run/conc040.hs).
      a20ec0ce
  22. 15 Feb, 2004 1 commit
  23. 28 Dec, 2003 1 commit
  24. 10 Dec, 2003 1 commit
    • wolfgang's avatar
      [project @ 2003-12-10 11:35:24 by wolfgang] · 60ea58ab
      wolfgang authored
      PowerPC Linux support for registerised compilation and native code
      generation. (object splitting and GHCi are still unsupported).
      
      Code for other platforms is not affected, so MERGE TO STABLE.
      60ea58ab
  25. 26 Nov, 2003 1 commit
  26. 14 Nov, 2003 2 commits
  27. 12 Nov, 2003 1 commit
    • sof's avatar
      [project @ 2003-11-12 17:27:00 by sof] · a814590c
      sof authored
      Tidy up a couple of unportable coding issues:
      
      - conditionally use empty structs.
      - use GNU attributes only if supported.
      - 'long long' usage
      - use of 'inline' in declarations and definitions.
      
      Upshot of these changes is that MSVC is now capable of compiling
      the non-.hc portions of the RTS.
      a814590c
  28. 20 Oct, 2003 2 commits
    • panne's avatar
      [project @ 2003-10-20 18:50:45 by panne] · 1820f42c
      panne authored
      Fixed previous commit. Negation is the root of all evil... :-)
      1820f42c
    • sof's avatar
      [project @ 2003-10-20 17:15:27 by sof] · d0c6e4ec
      sof authored
      Console event handling support (i.e., Haskell-side support for SIGINT under win32).
      
      win32/ConsoleHandler.h implements the Signals.h API. No library support
      for installing user event handlers included in this commit.
      d0c6e4ec
  29. 12 Oct, 2003 1 commit