1. 21 Jul, 2002 1 commit
    • panne's avatar
      [project @ 2002-07-21 11:46:34 by panne] · 026fa45f
      panne authored
      Long explanation for small commit:
      
      With the recent reorganization of #includes, things get a little bit
      fragile: When gcc with -O is used, glibc's <stdio.h> defines a few
      inline functions (see <bits/stdio.h>), and "Stg.h" defines some global
      variables which reside in registers. But the latter must happen
      *before* any function definition has been seen, otherwise the
      generated code could be invalid. Consequently gcc complains like:
      
         In file included from Stg.h:182,
                          from mkNativeHdr.c:12:
         Regs.h:293: global register variable follows a function definition
         Regs.h:302: global register variable follows a function definition
      
      The solution is quite simple: Always #include "Stg.h" *before* any
      system headers.
      026fa45f
  2. 20 Jul, 2002 1 commit
  3. 19 Jul, 2002 5 commits
    • sof's avatar
      [project @ 2002-07-19 18:45:21 by sof] · 0974f1a8
      sof authored
      forkProcess():
       be less ambitious, and don't kill any main_threads.
       Killing them, and possibly replacing them on the
       main_threads with the current one, turned out to
       run into problems of its own (see comments.)
      
       The hope/wish is that the current behaviour of
       forkProcess will suffice.
      0974f1a8
    • simonmar's avatar
      [project @ 2002-07-19 11:48:20 by simonmar] · 542e4d92
      simonmar authored
      Remove the check for >4 args when doing a foreign import "wrapper" on
      Sparc: we support unlimited arguments now (from Sven Panne).
      542e4d92
    • simonmar's avatar
      [project @ 2002-07-19 11:47:30 by simonmar] · 5926dc51
      simonmar authored
      Code to make the general case of createAdjustor() work on Sparc, from
      Sven Panne.  Previously only 4 args were supported.
      5926dc51
    • simonmar's avatar
      [project @ 2002-07-19 11:46:31 by simonmar] · 541d1d89
      simonmar authored
      Sparc NCG fix from Sven Panne: 8-byte align the stack ptr when doing a ccall.
      541d1d89
    • sof's avatar
      [project @ 2002-07-19 00:06:05 by sof] · 180e628b
      sof authored
      forkProcess():
       - fix bug which left run_queue_tl in a bad state.
       - be better behaved wrt 'main threads', i.e.,
         if the killing thread isn't the main thread,
         make sure it's hooked up to main_threads +
         correctly signal the completion/killing of
         any main threads.
      180e628b
  4. 18 Jul, 2002 7 commits
  5. 17 Jul, 2002 5 commits
    • krasimir's avatar
      [project @ 2002-07-17 19:26:49 by krasimir] · f9e19f4f
      krasimir authored
      ObjectIO link
      f9e19f4f
    • simonmar's avatar
      [project @ 2002-07-17 13:49:15 by simonmar] · c9316ee5
      simonmar authored
      Turn off prompt for non-TTY input (non-readline case)
      c9316ee5
    • simonmar's avatar
      [project @ 2002-07-17 09:21:48 by simonmar] · 7457757f
      simonmar authored
      Remove most #includes of system headers from Stg.h, and instead
      #include any required headers directly in each RTS source file.
      
      The idea is to (a) reduce namespace pollution from system headers that
      we don't need, (c) be clearer about dependencies on system things in
      the RTS, and (c) improve via-C compilation times (maybe).
      
      In practice though, HsBase.h #includes everything anyway, so the
      difference from the point of view of .hc source is minimal.  However,
      this makes it easier to move to zero-includes if we wanted to (see
      discussion on the FFI list; I'm still not sure that's possible but
      at least this is a step in the right direction).
      7457757f
    • simonmar's avatar
      [project @ 2002-07-17 09:14:27 by simonmar] · 2790095b
      simonmar authored
      turn off -Wcast-align, it generates gobs of complaints on Sparc
      2790095b
    • simonmar's avatar
      [project @ 2002-07-17 08:26:44 by simonmar] · e9148ae0
      simonmar authored
      oops, missed one instance of __stginit_GHCziPrim (I killed it yesterday)
      e9148ae0
  6. 16 Jul, 2002 10 commits
    • lewie's avatar
      [project @ 2002-07-16 22:26:49 by lewie] · 5d7120f9
      lewie authored
      Fix typo in explanation of "What AbsBinds means" just to prove that I'm
      not deadweight on the GHC committers list ;-)
      5d7120f9
    • simonmar's avatar
      [project @ 2002-07-16 15:07:15 by simonmar] · 45249cb5
      simonmar authored
      Silly me, the version number in the interface isn't correct until
      after mkFinalIface, so don't grab it until then.
      45249cb5
    • simonmar's avatar
      [project @ 2002-07-16 14:56:08 by simonmar] · 9a972425
      simonmar authored
      Implement a primitive failsafe mechanism for protecting against
      linking inconsistent object files.  The idea is that if object files
      which were compiled in the wrong order (non-dependency order) or
      compiled in different ways (eg. profiled vs. non-profiled) are linked
      together, a link error will result.
      
      This is achieved by adding the module version and the way to the
      module init label.  For example, previously the init label for a
      module Foo was named
      
      	__stginit_Foo
      
      now it is named
      
      	__stginit_Foo_<version>_<way>
      
      where <version> is the module version of Foo (same as the version in
      the interface file), and <way> is the current way (or empty).
      
      We also have to have a way to refer to the old plain init label, for
      using as the argument to shutdownHaskell() in a program using foreign
      exports.  So the old label now points to a jump instruction which
      transfers control to the new init code.
      9a972425
    • simonmar's avatar
      [project @ 2002-07-16 14:49:38 by simonmar] · 8c086331
      simonmar authored
      comment fix
      8c086331
    • simonmar's avatar
      [project @ 2002-07-16 12:05:37 by simonmar] · 2db30d06
      simonmar authored
      un-rot one transformation on x86: we normally transform
      
      	movl $_blah, %eax
      	jmp  *%eax
      
      into simply
      
      	jmp _blah
      
      but the pattern had rotted w.r.t. gcc so this was no longer applying.
      Should reduce code size measurably.
      
      MERGE TO STABLE
      2db30d06
    • simonmar's avatar
      [project @ 2002-07-16 10:58:16 by simonmar] · f9206647
      simonmar authored
      Remove DLL_IMPORT from the two closure declarations in this file,
      because otherwise the file is not standalone.
      
      Doing the right thing doesn't seem easy, because we have to get the
      right value of DONT_WANT_WIN32_DLLS from somewhere.  Anyway if/when
      DLL support is revived we'll have to revisit this.
      
      MERGE TO STABLE
      f9206647
    • simonmar's avatar
      [project @ 2002-07-16 10:51:12 by simonmar] · 025f5dfe
      simonmar authored
      The restore instruction on Sparc apparently has arguments under GCC
      3.1, which caused one of the patterns to break in the mangler.
      
      I can now run simple programs compiled with GHC on Sparc using GCC
      3.1, so hopefully this fixes it.
      
      MERGE TO STABLE (and the previous one).
      025f5dfe
    • simonmar's avatar
      [project @ 2002-07-16 10:17:37 by simonmar] · 2011da8d
      simonmar authored
      GCC 3.1 on Sparc now uses '.long'.
      2011da8d
    • stolz's avatar
      [project @ 2002-07-16 07:04:49 by stolz] · 03e9edb3
      stolz authored
      The <dlfcn.h> constants RTLD_NOW, RTLD_GLOBAL, RTLD_LOCAL
      are not defined in the OpenBSD implementation of the dl library.
      
      dons@cse.unsw.edu.au (Donald Bruce Stewart)
      03e9edb3
    • sof's avatar
      [project @ 2002-07-16 06:42:04 by sof] · 05bead0e
      sof authored
      Treat ';' and '{' as word separators, so that from
      input like like "{import Foo" and ";;;;import Foo",
      the 'Foo' imports are identified.
      05bead0e
  7. 15 Jul, 2002 5 commits
    • panne's avatar
      [project @ 2002-07-15 16:43:34 by panne] · be2cd17f
      panne authored
      * Solaris' quite spartanic /bin/sh doesn't know about the '!' keyword,
        so let's simply reverse the operator in the test instead.
      
      * The FPTOOLS_SEARCH_LIBS macro expects a function without any
        arguments, but glXChooseVisual *does* have arguments. glXWaitX is a
        better test for GLX libs.
      
      MERGE TO STABLE
      be2cd17f
    • simonmar's avatar
      [project @ 2002-07-15 14:49:17 by simonmar] · 2e925075
      simonmar authored
      Unbreak the registering of foreign exports as stable pointers, which
      was brokwn in rev. 1.64.  This will eventually cause any program that
      uses the same foreign export repeatedly to seg fault.  Dunno why we
      don't have a test for this.
      
      *sigh* the first bad bug in 5.04
      
      MERGE TO STABLE
      2e925075
    • simonmar's avatar
      [project @ 2002-07-15 08:41:46 by simonmar] · d846cdf3
      simonmar authored
      Don't declare the StgClosures 'const' (they aren't declared 'const' in
      generated code).
      d846cdf3
    • simonmar's avatar
      [project @ 2002-07-15 08:41:02 by simonmar] · 3ccd3959
      simonmar authored
      Static closures are not declared 'const' in generated code, so don't
      declare them 'const' in here.
      
      Spotted-by: GCC 3.1
      3ccd3959
    • chak's avatar
      [project @ 2002-07-15 07:24:58 by chak] · c1d02536
      chak authored
      Let `configure' know about the "m68k-unknown-openbsd" architecture.
      Patch contributed by Donald Stewart <dons@cse.unsw.edu.au>.
      c1d02536
  8. 12 Jul, 2002 5 commits
  9. 11 Jul, 2002 1 commit