1. 24 Jul, 2001 17 commits
    • ken's avatar
      [project @ 2001-07-24 06:31:35 by ken] · d888cbcb
      ken authored
      Innocent changes to resurrect/add 64-bit support.
      d888cbcb
    • ken's avatar
      [project @ 2001-07-24 06:02:21 by ken] · f6709386
      ken authored
      Fix typo in StgRun() for the Alpha
      f6709386
    • ken's avatar
      [project @ 2001-07-24 06:01:21 by ken] · 63252248
      ken authored
      #include <string.h> to get proper prototypes
      63252248
    • ken's avatar
      [project @ 2001-07-24 05:53:27 by ken] · d83e7dcf
      ken authored
      Removed debugging (tracing) code.
      d83e7dcf
    • ken's avatar
      [project @ 2001-07-24 05:49:32 by ken] · 5c6558a5
      ken authored
      Fixed punctuation typo.
      5c6558a5
    • ken's avatar
      [project @ 2001-07-24 05:17:52 by ken] · d5053232
      ken authored
      Added -I$(GHC_INCLUDE_DIR) to $(SRC_MKDEPENDC_OPTS), so that
      mkdependC can find its include files properly.
      d5053232
    • ken's avatar
      [project @ 2001-07-24 05:08:51 by ken] · d91879fb
      ken authored
      Made "nat" 64-bit ("unsigned long") rather than 32-bit ("unsigned int")
      on 64-bit machines.  This fixes some problems caused by code elsewhere
      assuming that sizeof(nat) == sizeof(void *).
      d91879fb
    • ken's avatar
      [project @ 2001-07-24 05:07:37 by ken] · c8279740
      ken authored
      Added -lm to the extra_libraries list for the rts package.  This is
      because ldexp() is used by StgPrimFloat.c and is in -lm on alpha-osf3.
      c8279740
    • ken's avatar
      [project @ 2001-07-24 05:05:41 by ken] · 9772e7c1
      ken authored
      Added $(GhcHcOpts) to $(SRC_HC_OPTS), so that by setting
      --keep-hc-files-too in $(GhcHcOpts) we get .hc files for the
      Haskell code under this directory, ghc/driver.
      9772e7c1
    • ken's avatar
      [project @ 2001-07-24 05:04:58 by ken] · 030787e5
      ken authored
      Removed 32-bit dependencies in the generation and handling of
      liveness mask bitmaps.  We now support both 32-bit and 64-bit
      machines with identical .hc files.  Support for >64-bit machines
      would be easy to add.  Note that old .hc files are incompatible
      with the changes made to ghc/include/InfoMacros.h!
      030787e5
    • ken's avatar
      [project @ 2001-07-24 04:52:49 by ken] · 1146fac5
      ken authored
      Made some code #ifdef GHCI, so that it will compile without GHCI enabled.
      1146fac5
    • ken's avatar
      [project @ 2001-07-24 04:47:06 by ken] · 276ee4fa
      ken authored
      Added missing hyphen in frnot of machdepCCOpts for mips and powerpc.
      276ee4fa
    • ken's avatar
      [project @ 2001-07-24 04:46:37 by ken] · aad02f03
      ken authored
      Added -Xlinker -noprefix_recognition to Alpha-specific
      machdepCCOpts.  We need this flag to disable the following
      documented behavior of ld(1) on Digital UNIX:
      
         All routines that start with __init_ are treated, by default,
         as initialization routines. These are routines that are called
         without an argument when the file that contains them is loaded
         or when the program that contains them is started.
      
      Unfortunately, this flag produces the annoying (but harmless) gcc
      message
      
          gcc: -noprefix_recognition: linker input file unused since
          linking not done
      
      (See also mk/bootstrap.mk)
      aad02f03
    • ken's avatar
      [project @ 2001-07-24 04:45:59 by ken] · a7373b8d
      ken authored
      Added -static, a flag for compiling on the Alpha that is already
      listed under machdepCCOpts in DriverFlags.hs.  Without it, the
      following assert in GC.c fails:
      
          /* make sure the info pointer is into text space */
          ASSERT(q && (LOOKS_LIKE_GHC_INFO(GET_INFO(q))
                       || IS_HUGS_CONSTR_INFO(GET_INFO(q))));
      
      Added -Xlinker -noprefix_recognition, a flag for Alpha compilation
      that I just added to machdepCCOpts in DriverFlags.hs.  We need
      this flag to disable the following documented behavior of ld(1) on
      Digital UNIX:
      
         All routines that start with __init_ are treated, by default,
         as initialization routines. These are routines that are called
         without an argument when the file that contains them is loaded
         or when the program that contains them is started.
      
      Unfortunately, this flag produces the annoying (but harmless) gcc
      message
      
          gcc: -noprefix_recognition: linker input file unused since
          linking not done
      
      (See also ghc/compiler/main/DriverFlags.hs)
      a7373b8d
    • ken's avatar
      [project @ 2001-07-24 04:41:40 by ken] · 395065b0
      ken authored
      Added #include "SchedAPI.h" to fix compiler warning message.
      395065b0
    • ken's avatar
      [project @ 2001-07-24 04:39:31 by ken] · af27ab5c
      ken authored
      Make the Time module thread-safe by calling the reentrant functions
      gmtime_r and localtime_r instead of gmtime and localtime wherever
      they are available.
      
      (This is necessary to make Time work at all on our Alpha machine --
      perhaps GHC tickles the reentrancy of the C library or something?)
      af27ab5c
    • ken's avatar
      [project @ 2001-07-24 04:35:36 by ken] · aaf39182
      ken authored
      Fixed: The type of sec and usec in struct timeval are always 32 bits,
      but not always a CLong.  (On Alphas, CLong is 64 bits.)
      aaf39182
  2. 23 Jul, 2001 23 commits
    • andy's avatar
      [project @ 2001-07-23 23:37:35 by andy] · 567381a2
      andy authored
      Adding the -Pa flag. This allows you to see all the cost centres
      567381a2
    • ken's avatar
      [project @ 2001-07-23 23:29:47 by ken] · 67ee0c1b
      ken authored
      Removed 32-bit assumptions.
      67ee0c1b
    • ken's avatar
      [project @ 2001-07-23 23:27:50 by ken] · 2e04f72e
      ken authored
      - Added recommended gcc warning flag: -Wcast-align
      
        - Fixed: "make distclean" would run in the gmp subdirectory multiple
          times, once for each way.  The second time, the Makefile in there
          is gone, causing an error.
      2e04f72e
    • ken's avatar
      [project @ 2001-07-23 23:26:14 by ken] · 670eeb09
      ken authored
      Changed comment to reflect reality: We now use 32-bit thread IDs, not
      64-bit ones.
      670eeb09
    • ken's avatar
      [project @ 2001-07-23 23:14:58 by ken] · f060e56b
      ken authored
      Removed 32-bit assumptions in info table macros (mostly replacing
      StgWord32 with StgWord).
      f060e56b
    • ken's avatar
      [project @ 2001-07-23 23:13:07 by ken] · 6d478f56
      ken authored
      Brought the mangler up-to-date for the Alpha.
      6d478f56
    • ken's avatar
      [project @ 2001-07-23 23:10:03 by ken] · 25893c9c
      ken authored
      Fixed: The second-stage compilation in this script should use the compiler
      built in the first stage.  Also, configure wants to find Happy, so we feed
      it fake-happy (presuming that the ghc-less machine also does not have happy).
      25893c9c
    • sof's avatar
      [project @ 2001-07-23 23:08:41 by sof] · 4a1bea89
      sof authored
      lex_demand: added a couple of missing cases for new demand type
      4a1bea89
    • ken's avatar
      [project @ 2001-07-23 23:08:04 by ken] · fb40b8b1
      ken authored
      Rearranged the usage help message to move --no-compile to the bottom.
      
      More importantly-- Fixed: hsc2hs was translating
      
          #def inline ... function(...) { ... }
      
      into (assuming defined(__GNUC__))
      
          [in the _hsc.h file:]  extern inline ... function(...)
          [in the _hsc.c file:]  inline ... function(...)
      
      while it should really be translated into
      
          [in the _hsc.h file:]  extern inline ... function(...)
          [in the _hsc.c file:]  ... function(...)
      
      (without the "inline" in the _hsc.c file).  Quoting the gcc documentation
      for "inline":
      
      >    If you specify both `inline' and `extern' in the function
      > definition, then the definition is used only for inlining.  In no case
      > is the function compiled on its own, not even if you refer to its
      > address explicitly.  Such an address becomes an external reference, as
      > if you had only declared the function, and had not defined it.
      >
      >    This combination of `inline' and `extern' has almost the effect of a
      > macro.  The way to use it is to put a function definition in a header
      > file with these keywords, and put another copy of the definition
      > (lacking `inline' and `extern') in a library file.  The definition in
      > the header file will cause most calls to the function to be inlined.
      > If any uses of the function remain, they will refer to the single copy
      > in the library.
      fb40b8b1
    • ken's avatar
      [project @ 2001-07-23 23:02:37 by ken] · 1a6d581f
      ken authored
      Added documentation for hsc2hs "--no-compile" option.
      1a6d581f
    • ken's avatar
      [project @ 2001-07-23 22:56:44 by ken] · b17b6a01
      ken authored
      Add the *.a.list "list of object files to archive" file
      to MOSTLY_CLEAN_FILES.
      b17b6a01
    • ken's avatar
      [project @ 2001-07-23 22:52:33 by ken] · e99733ff
      ken authored
      Improved how we build library archives:
      
      On Digital UNIX (or where otherwise available), use the "Z" option to
      compress archives as we build them.
      
      On Digital UNIX 5 (or where otherwise available), use the "-input" option,
      which reads from a specified file the list of objects to archive.  This is
      significantly faster than piping the list of objects to xargs when the
      number of objects to archive is large.
      e99733ff
    • ken's avatar
      [project @ 2001-07-23 22:38:02 by ken] · 97e3db03
      ken authored
      Fixed: making dependencies for Haskell source files fails if -split-objs
      is present in $(HC_OPTS).
      97e3db03
    • ken's avatar
      [project @ 2001-07-23 22:33:52 by ken] · 27d13cb6
      ken authored
      Added "--enable-hc-boot-unregisterised" option to configure,
      for bootstrapping from unregisterised HC files.
      27d13cb6
    • ken's avatar
      [project @ 2001-07-23 22:26:18 by ken] · 5f613352
      ken authored
      Teach configure.in to canonicalise new-fangled Alpha system names,
      such as alphaev67-dec-osf5.0, to alpha-dec-osf3.
      5f613352
    • ken's avatar
      [project @ 2001-07-23 22:22:58 by ken] · b123b6eb
      ken authored
      Added a helper script "fake-happy" that fakes "happy -v" output.
      It is useful for bootstrapping on new platforms.
      b123b6eb
    • ken's avatar
      [project @ 2001-07-23 22:19:59 by ken] · 52fe4859
      ken authored
      Grab the latest versions of config.guess and config.sub from GNU.
      52fe4859
    • sof's avatar
      [project @ 2001-07-23 21:31:00 by sof] · b4d63035
      sof authored
      ranlib gmp/libgmp.a - needed for a.out plats (OpenBSD in particular).
      b4d63035
    • sof's avatar
      [project @ 2001-07-23 20:19:53 by sof] · b7a226fd
      sof authored
      Handle leading underscores for PrelMain undefineds
      b7a226fd
    • sof's avatar
      [project @ 2001-07-23 18:25:48 by sof] · 42e2be6d
      sof authored
      Get rid off DEBUG - prev commit didn't attack the real problem
      42e2be6d
    • simonmar's avatar
      [project @ 2001-07-23 17:28:33 by simonmar] · d6a3df3d
      simonmar authored
      Back out change that tried to sneak in with the new garbage collector.
      d6a3df3d
    • simonmar's avatar
      [project @ 2001-07-23 17:23:19 by simonmar] · dfd7d6d0
      simonmar authored
      Add a compacting garbage collector.
      
      It isn't enabled by default, as there are still a couple of problems:
      there's a fallback case I haven't implemented yet which means it will
      occasionally bomb out, and speed-wise it's quite a bit slower than the
      copying collector (about 1.8x slower).
      
      Until I can make it go faster, it'll only be useful when you're
      actually running low on real memory.
      
      '+RTS -c' to enable it.
      
      Oh, and I cleaned up a few things in the RTS while I was there, and
      fixed one or two possibly real bugs in the existing GC.
      dfd7d6d0
    • simonpj's avatar
      [project @ 2001-07-23 16:27:41 by simonpj] · 9528fa3e
      simonpj authored
      Wibble
      9528fa3e