ghc-hetmet.git
21 years ago[project @ 2002-08-09 21:28:09 by sof]
sof [Fri, 9 Aug 2002 21:28:10 +0000 (21:28 +0000)]
[project @ 2002-08-09 21:28:09 by sof]
Added GHC_MANGLER_DIR, GHC_SPLIT_DIR + fix .raw_s -> .s bootstrap suffix rule

21 years ago[project @ 2002-08-09 20:59:41 by sof]
sof [Fri, 9 Aug 2002 20:59:41 +0000 (20:59 +0000)]
[project @ 2002-08-09 20:59:41 by sof]
NON_HS_PKG vs NON_HS_PACKAGE confusion - NON_HS_PACKAGE wins

21 years ago[project @ 2002-08-06 13:43:35 by simonmar]
simonmar [Tue, 6 Aug 2002 13:43:35 +0000 (13:43 +0000)]
[project @ 2002-08-06 13:43:35 by simonmar]
Make this compile, and maybe even work

21 years ago[project @ 2002-08-05 11:11:44 by simonmar]
simonmar [Mon, 5 Aug 2002 11:11:46 +0000 (11:11 +0000)]
[project @ 2002-08-05 11:11:44 by simonmar]
- Update the old coding style document
- Move it to the commentary under the "RTS & libs" section

21 years ago[project @ 2002-08-05 10:11:03 by simonmar]
simonmar [Mon, 5 Aug 2002 10:11:04 +0000 (10:11 +0000)]
[project @ 2002-08-05 10:11:03 by simonmar]
Overhaul the debugging flags.  The old bitfield mechanism was a bit
silly, so now instead of writing -D129 (the one I use most) you can
now write -DSs.  Each debugging option has a single character assigned
to it, documented in the -? help text.

21 years ago[project @ 2002-08-05 09:18:27 by simonmar]
simonmar [Mon, 5 Aug 2002 09:18:27 +0000 (09:18 +0000)]
[project @ 2002-08-05 09:18:27 by simonmar]
We have to turn off the buffering on stdout, stdin & stderr after
every time we revert all CAFs, not just when starting up GHCi.

MERGE TO STABLE

21 years ago[project @ 2002-08-02 13:08:33 by simonmar]
simonmar [Fri, 2 Aug 2002 13:08:35 +0000 (13:08 +0000)]
[project @ 2002-08-02 13:08:33 by simonmar]
PrimRep Cleanup

   - Remove all PrimReps which were just different flavours of
     PtrRep.  Now, everything which is a pointer to a closure of
     some kind is always a PtrRep.

   - Three of the deleted PrimReps, namely ArrayRep, ByteArrayRep,
     and ForeignObj rep, had a subtle reason for their existence:
     the abstract C pretty-printer(!) used them to decide whether
     to apply a shim to an outgoing C-call argument: a ByteArrayRep
     argument would be adjusted to point past the object header,
     for example.

     I've changed this to happen in a much more reasonable and
     obvious way: there are now explict macros in AbsCSyn to do the
     adjustment, and the code generator makes calls to these as
     necessary.  Slightly less hackery is necessary in the NCG as
     a result.

21 years ago[project @ 2002-08-02 12:24:04 by simonmar]
simonmar [Fri, 2 Aug 2002 12:24:04 +0000 (12:24 +0000)]
[project @ 2002-08-02 12:24:04 by simonmar]
Pass -fno-builtin to gcc when compiling .hc files, because this avoids
a common cause of running out of registers when foreign calls to
functions like memcpy(), strlen() are made from Haskell.

MERGE

21 years ago[project @ 2002-08-02 11:17:15 by simonmar]
simonmar [Fri, 2 Aug 2002 11:17:15 +0000 (11:17 +0000)]
[project @ 2002-08-02 11:17:15 by simonmar]
Remove out-of-date comment

21 years ago[project @ 2002-08-02 09:44:26 by simonmar]
simonmar [Fri, 2 Aug 2002 09:44:26 +0000 (09:44 +0000)]
[project @ 2002-08-02 09:44:26 by simonmar]
Mention that --show-iface is needed for viewing interface files.

21 years ago[project @ 2002-08-01 14:34:42 by simonpj]
simonpj [Thu, 1 Aug 2002 14:34:42 +0000 (14:34 +0000)]
[project @ 2002-08-01 14:34:42 by simonpj]
Make the byte-code generator understand about unboxed
tuple returns.  The previous code was just wrong.

This code is better but it is still not *right*, I fear.
Don't merge till we sort this out.

21 years ago[project @ 2002-08-01 14:13:10 by simonpj]
simonpj [Thu, 1 Aug 2002 14:13:11 +0000 (14:13 +0000)]
[project @ 2002-08-01 14:13:10 by simonpj]
Another rebindable-syntax wibble; merge to stable branch

21 years ago[project @ 2002-08-01 12:49:41 by simonpj]
simonpj [Thu, 1 Aug 2002 12:49:41 +0000 (12:49 +0000)]
[project @ 2002-08-01 12:49:41 by simonpj]
Comments only

21 years ago[project @ 2002-08-01 12:49:06 by simonpj]
simonpj [Thu, 1 Aug 2002 12:49:06 +0000 (12:49 +0000)]
[project @ 2002-08-01 12:49:06 by simonpj]
More documentation about hoisting

21 years ago[project @ 2002-07-31 14:11:13 by simonmar]
simonmar [Wed, 31 Jul 2002 14:11:14 +0000 (14:11 +0000)]
[project @ 2002-07-31 14:11:13 by simonmar]
Detect Python (any version).

21 years ago[project @ 2002-07-31 12:17:35 by simonmar]
simonmar [Wed, 31 Jul 2002 12:17:35 +0000 (12:17 +0000)]
[project @ 2002-07-31 12:17:35 by simonmar]
Remove unused primRepTyCon

21 years ago[project @ 2002-07-30 17:35:59 by sof]
sof [Tue, 30 Jul 2002 17:35:59 +0000 (17:35 +0000)]
[project @ 2002-07-30 17:35:59 by sof]
wibble

21 years ago[project @ 2002-07-30 11:49:17 by simonpj]
simonpj [Tue, 30 Jul 2002 11:49:18 +0000 (11:49 +0000)]
[project @ 2002-07-30 11:49:17 by simonpj]
Wibble to yestdays commit re module versioning

21 years ago[project @ 2002-07-30 03:42:56 by sof]
sof [Tue, 30 Jul 2002 03:42:56 +0000 (03:42 +0000)]
[project @ 2002-07-30 03:42:56 by sof]
hc-file-bundle:
  * only include the .hsc-derived .hs files that exist in the build tree.
  * updated to include current happy-derived .hs files

21 years ago[project @ 2002-07-29 16:12:07 by simonpj]
simonpj [Mon, 29 Jul 2002 16:12:08 +0000 (16:12 +0000)]
[project @ 2002-07-29 16:12:07 by simonpj]
** MERGE TO STABLE **

1. Make TidyPgm forget IdInfo for exported things.  This is
   really important for the recompilation checker; see the
   commment with TidyPgm.tidyTopIdInfo

   Fixes a bug reported by Sigbjorn.

2. Make CoreToStg more robust, by avoiding the duplicate
   calculation of update flag for top-level closures

21 years ago[project @ 2002-07-29 16:08:20 by simonpj]
simonpj [Mon, 29 Jul 2002 16:08:20 +0000 (16:08 +0000)]
[project @ 2002-07-29 16:08:20 by simonpj]
Comment only

21 years ago[project @ 2002-07-29 13:19:52 by simonpj]
simonpj [Mon, 29 Jul 2002 13:19:53 +0000 (13:19 +0000)]
[project @ 2002-07-29 13:19:52 by simonpj]
** MERGE TO STABLE **

Fix an alpha-renaming bug in hoistForAlls

21 years ago[project @ 2002-07-29 12:22:37 by simonpj]
simonpj [Mon, 29 Jul 2002 12:22:38 +0000 (12:22 +0000)]
[project @ 2002-07-29 12:22:37 by simonpj]
*** MERGE TO STABLE BRANCH ***

Surprisingly large delta to make rebindable names work properly.
I was sloppily not checking the type of the user-supplied name,
and Ashley Yakeley's first experiment showed up the problem!

Solution: typechecker has to check both the 'standard' name and
the 'user' name and check the latter has a type compatible with the
former.

The main comment is with Inst.tcSyntaxName (a new function).

21 years ago[project @ 2002-07-29 11:22:31 by simonmar]
simonmar [Mon, 29 Jul 2002 11:22:31 +0000 (11:22 +0000)]
[project @ 2002-07-29 11:22:31 by simonmar]
Back out previous commit; -static is on by default and we don't want
to always pass -static to the linker.

21 years ago[project @ 2002-07-29 10:50:43 by simonmar]
simonmar [Mon, 29 Jul 2002 10:50:44 +0000 (10:50 +0000)]
[project @ 2002-07-29 10:50:43 by simonmar]
Type variables created by the typechecker didn't have the correct
NameSpace: they were in the Var namespace rather than the TyVar
namespace, which can lead to strange warnings about quantified type
variables being not mentioned in the type when DEBUG is on.

Name:
- added mkSystemNameEncoded for use when the string
  is already encoded (saves re-encoding the string every
  time)

- added mkSystemTvNameEncoded for making a type variable
  name, as above

Var:
- use mkSystemTvNameEncoded when making type variables

Id:
- add mkSysLocalUnencoded for the (rare) case when
  the string needs encoding

TcMType:
- use mkSystemTvNameEncoded rather than mkSystemName for
  making type variables

SetLevels:
- use mkSysLocalUnencoded since the names generated here
  need encoding.

21 years ago[project @ 2002-07-29 10:42:29 by simonmar]
simonmar [Mon, 29 Jul 2002 10:42:29 +0000 (10:42 +0000)]
[project @ 2002-07-29 10:42:29 by simonmar]
Add -static to the linker command line when -static is passed to GHC.

At some point we might want a way to say that Haskell libraries should
be linked statically but everything else should be linked as normal,
but since we aren't really supporting dynamic Haskell libraries at
this time, we don't need to address that yet.

21 years ago[project @ 2002-07-29 09:11:04 by simonpj]
simonpj [Mon, 29 Jul 2002 09:11:04 +0000 (09:11 +0000)]
[project @ 2002-07-29 09:11:04 by simonpj]
More informative crash in rdrNameModule

21 years ago[project @ 2002-07-28 14:10:03 by krasimir]
krasimir [Sun, 28 Jul 2002 14:10:03 +0000 (14:10 +0000)]
[project @ 2002-07-28 14:10:03 by krasimir]
Documentation for #size

21 years ago[project @ 2002-07-28 13:55:32 by krasimir]
krasimir [Sun, 28 Jul 2002 13:55:32 +0000 (13:55 +0000)]
[project @ 2002-07-28 13:55:32 by krasimir]
add `size` macro

21 years ago[project @ 2002-07-28 02:31:11 by sof]
sof [Sun, 28 Jul 2002 02:31:11 +0000 (02:31 +0000)]
[project @ 2002-07-28 02:31:11 by sof]
include stdlib.h (to get at NULL)

21 years ago[project @ 2002-07-26 09:35:46 by simonmar]
simonmar [Fri, 26 Jul 2002 09:35:46 +0000 (09:35 +0000)]
[project @ 2002-07-26 09:35:46 by simonmar]
Always return 8-byte-aligned memory from arenaAlloc().  Fixes problems
with profiling on sparc-sun-solaris2, and might fix problems with
Windows too.

MERGE

21 years ago[project @ 2002-07-26 03:06:58 by sof]
sof [Fri, 26 Jul 2002 03:06:58 +0000 (03:06 +0000)]
[project @ 2002-07-26 03:06:58 by sof]
interactiveLoop{mingw32}: always show prompt under mingw.

hIsTerminalDevice returns True iff stdin is connected to a Console
under Win32. Which it is when running in a command shell
(DOS,bash etc.), but Emacs sub-shells don't get a Console of their
own when invoked. So, just disable this feature (whose motivation
somewhat escapes me.)

21 years ago[project @ 2002-07-25 18:36:59 by sof]
sof [Thu, 25 Jul 2002 18:37:00 +0000 (18:37 +0000)]
[project @ 2002-07-25 18:36:59 by sof]
Expose printAllThreads() in non-DEBUG builds;
of some use when debugging ConcHask code and
want a dump of the current state of the system's
threads.

Not provided via a library, so to use, do

 foreign import call unsafe printAllThreads :: IO ()

21 years ago[project @ 2002-07-25 14:47:30 by simonmar]
simonmar [Thu, 25 Jul 2002 14:47:30 +0000 (14:47 +0000)]
[project @ 2002-07-25 14:47:30 by simonmar]
Add -ddump-minimal-imports (not sure why this was missing)

MERGE

21 years ago[project @ 2002-07-24 18:18:13 by sof]
sof [Wed, 24 Jul 2002 18:18:13 +0000 (18:18 +0000)]
[project @ 2002-07-24 18:18:13 by sof]
warning removal

21 years ago[project @ 2002-07-24 09:47:49 by simonmar]
simonmar [Wed, 24 Jul 2002 09:47:49 +0000 (09:47 +0000)]
[project @ 2002-07-24 09:47:49 by simonmar]
Documentation for #offset

21 years ago[project @ 2002-07-24 09:44:37 by simonmar]
simonmar [Wed, 24 Jul 2002 09:44:37 +0000 (09:44 +0000)]
[project @ 2002-07-24 09:44:37 by simonmar]
Add #offset for just grabbing the byte offset of a struct field.

21 years ago[project @ 2002-07-24 06:27:01 by krasimir]
krasimir [Wed, 24 Jul 2002 06:27:01 +0000 (06:27 +0000)]
[project @ 2002-07-24 06:27:01 by krasimir]
add GhcLibsWithObjectIO

21 years ago[project @ 2002-07-24 03:38:58 by sof]
sof [Wed, 24 Jul 2002 03:38:58 +0000 (03:38 +0000)]
[project @ 2002-07-24 03:38:58 by sof]
awaitEvent: if select() reports EBADF,
always unblock all waiting threads, even if
the prior invocation of select() also
elicited an EBADF.

The 'smart' that was there previously runs
the risk of working against us (if the EBADFs are
coming from different fds), so the above
scheme is preferable (and simpler.)

21 years ago[project @ 2002-07-23 22:42:17 by krasimir]
krasimir [Tue, 23 Jul 2002 22:42:18 +0000 (22:42 +0000)]
[project @ 2002-07-23 22:42:17 by krasimir]
add --enable-objectio configuration option

21 years ago[project @ 2002-07-23 20:03:48 by ken]
ken [Tue, 23 Jul 2002 20:03:48 +0000 (20:03 +0000)]
[project @ 2002-07-23 20:03:48 by ken]
Change "rm" in example makefile to "rm -f",
in case there is no .o file to remove

21 years ago[project @ 2002-07-23 14:58:16 by simonpj]
simonpj [Tue, 23 Jul 2002 14:58:16 +0000 (14:58 +0000)]
[project @ 2002-07-23 14:58:16 by simonpj]
Use tcLookupId, not tcLookupGlobalId, in Inst.newMethodFromName

    This really only affects the behaviour with -fno-implicit-prelude

*** MERGE TO STABLE BRANCH ***

21 years ago[project @ 2002-07-23 14:57:11 by simonpj]
simonpj [Tue, 23 Jul 2002 14:57:11 +0000 (14:57 +0000)]
[project @ 2002-07-23 14:57:11 by simonpj]
a) Correct precedence for application in derived
Read/Show

  b) Spaces round '=' in derived Show for records

*** MERGE TO STABLE BRANCH ***

21 years ago[project @ 2002-07-23 13:30:12 by sof]
sof [Tue, 23 Jul 2002 13:30:12 +0000 (13:30 +0000)]
[project @ 2002-07-23 13:30:12 by sof]
find ~=> $(FIND)

21 years ago[project @ 2002-07-23 11:25:27 by simonmar]
simonmar [Tue, 23 Jul 2002 11:25:27 +0000 (11:25 +0000)]
[project @ 2002-07-23 11:25:27 by simonmar]
if $(STAMP_PKG_CONF) is non-null, then wait for it before generating
dependencies.  This avoids a race with 'make -j' where package.conf
could get modified while the compiler is reading it.

21 years ago[project @ 2002-07-23 11:23:55 by simonmar]
simonmar [Tue, 23 Jul 2002 11:23:55 +0000 (11:23 +0000)]
[project @ 2002-07-23 11:23:55 by simonmar]
Don't re-run ghc-pkg if the package conf files haven't changed.  We
use a stamp file rather than adding an explicit dependency on
ghc/driver/package.conf{,.inplace} for reasons explained in a comment.

21 years ago[project @ 2002-07-23 10:12:01 by simonmar]
simonmar [Tue, 23 Jul 2002 10:12:01 +0000 (10:12 +0000)]
[project @ 2002-07-23 10:12:01 by simonmar]
Use $(HADDOCK) rather than $(HADDOCK_INPLACE)

21 years ago[project @ 2002-07-23 10:10:28 by simonmar]
simonmar [Tue, 23 Jul 2002 10:10:28 +0000 (10:10 +0000)]
[project @ 2002-07-23 10:10:28 by simonmar]
Add $(HADDOCK) pointing to the Haddock to use (src tree or installed)

21 years ago[project @ 2002-07-23 10:09:51 by simonmar]
simonmar [Tue, 23 Jul 2002 10:09:51 +0000 (10:09 +0000)]
[project @ 2002-07-23 10:09:51 by simonmar]
- Invoke FPTOOLS_HADDOCK to find an installed Haddock
- Add an option --use-src-tree-haddock to mirror --use-src-tree-happy

21 years ago[project @ 2002-07-23 10:08:58 by simonmar]
simonmar [Tue, 23 Jul 2002 10:08:58 +0000 (10:08 +0000)]
[project @ 2002-07-23 10:08:58 by simonmar]
Add FPTOOLS_HADDOCK to detect an installed version of Haddock.

21 years ago[project @ 2002-07-22 15:32:41 by stolz]
stolz [Mon, 22 Jul 2002 15:32:42 +0000 (15:32 +0000)]
[project @ 2002-07-22 15:32:41 by stolz]
Last bunch of OpenBSD-implicated autoconf-changes
from Donald Bruce Stewart <dons@cse.unsw.edu.au>.

21 years ago[project @ 2002-07-22 14:29:13 by simonpj]
simonpj [Mon, 22 Jul 2002 14:29:13 +0000 (14:29 +0000)]
[project @ 2002-07-22 14:29:13 by simonpj]
Add a note about pattern-matching with -fno-implicit-prelude

21 years ago[project @ 2002-07-22 10:02:13 by simonmar]
simonmar [Mon, 22 Jul 2002 10:02:13 +0000 (10:02 +0000)]
[project @ 2002-07-22 10:02:13 by simonmar]
Add a comment to note that Stg.h must be included before system
headers (this was always the case, but is now more important because
it is often necessary to #include system headers where it wasn't
previously).

21 years ago[project @ 2002-07-21 11:46:34 by panne]
panne [Sun, 21 Jul 2002 11:46:34 +0000 (11:46 +0000)]
[project @ 2002-07-21 11:46:34 by panne]
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.

21 years ago[project @ 2002-07-20 05:37:10 by dons]
dons [Sat, 20 Jul 2002 05:37:10 +0000 (05:37 +0000)]
[project @ 2002-07-20 05:37:10 by dons]
OpenBSD needs #include <sys/types.h> for msghdr compile tests.

21 years ago[project @ 2002-07-19 18:45:21 by sof]
sof [Fri, 19 Jul 2002 18:45:21 +0000 (18:45 +0000)]
[project @ 2002-07-19 18:45:21 by sof]
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.

21 years ago[project @ 2002-07-19 11:48:20 by simonmar]
simonmar [Fri, 19 Jul 2002 11:48:20 +0000 (11:48 +0000)]
[project @ 2002-07-19 11:48:20 by simonmar]
Remove the check for >4 args when doing a foreign import "wrapper" on
Sparc: we support unlimited arguments now (from Sven Panne).

21 years ago[project @ 2002-07-19 11:47:30 by simonmar]
simonmar [Fri, 19 Jul 2002 11:47:30 +0000 (11:47 +0000)]
[project @ 2002-07-19 11:47:30 by simonmar]
Code to make the general case of createAdjustor() work on Sparc, from
Sven Panne.  Previously only 4 args were supported.

21 years ago[project @ 2002-07-19 11:46:31 by simonmar]
simonmar [Fri, 19 Jul 2002 11:46:31 +0000 (11:46 +0000)]
[project @ 2002-07-19 11:46:31 by simonmar]
Sparc NCG fix from Sven Panne: 8-byte align the stack ptr when doing a ccall.

21 years ago[project @ 2002-07-19 00:06:05 by sof]
sof [Fri, 19 Jul 2002 00:06:05 +0000 (00:06 +0000)]
[project @ 2002-07-19 00:06:05 by sof]
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.

21 years ago[project @ 2002-07-18 13:12:45 by lewie]
lewie [Thu, 18 Jul 2002 13:12:45 +0000 (13:12 +0000)]
[project @ 2002-07-18 13:12:45 by lewie]
%files for the profiling rpm was missing .p_hi files that were nested deeply.
Fixed by calculating %files for prof rpm similar to how it is calculated
for the main rpm.

21 years ago[project @ 2002-07-18 09:16:12 by simonmar]
simonmar [Thu, 18 Jul 2002 09:16:13 +0000 (09:16 +0000)]
[project @ 2002-07-18 09:16:12 by simonmar]
Back off from including the interface file version in the module init
label - we might not recompile modules which depend on the current
one, even if its version changes.  Thanks to Sigbjorn for pointing
this out.

We still include the way, however, so we'll still catch cases of
linking modules compiled in different ways.

21 years ago[project @ 2002-07-18 09:13:10 by simonmar]
simonmar [Thu, 18 Jul 2002 09:13:10 +0000 (09:13 +0000)]
[project @ 2002-07-18 09:13:10 by simonmar]
Remove a bogus test

21 years ago[project @ 2002-07-18 09:12:34 by simonmar]
simonmar [Thu, 18 Jul 2002 09:12:36 +0000 (09:12 +0000)]
[project @ 2002-07-18 09:12:34 by simonmar]
#include wibbles

21 years ago[project @ 2002-07-18 09:12:03 by simonmar]
simonmar [Thu, 18 Jul 2002 09:12:03 +0000 (09:12 +0000)]
[project @ 2002-07-18 09:12:03 by simonmar]
cosmetic only

21 years ago[project @ 2002-07-18 06:07:37 by sof]
sof [Thu, 18 Jul 2002 06:07:37 +0000 (06:07 +0000)]
[project @ 2002-07-18 06:07:37 by sof]
EXIT_{FAILURE,SUCCESS}: it's time to let the re-definition of these age-old defines go..

21 years ago[project @ 2002-07-18 06:05:29 by sof]
sof [Thu, 18 Jul 2002 06:05:31 +0000 (06:05 +0000)]
[project @ 2002-07-18 06:05:29 by sof]
more include tweaking

21 years ago[project @ 2002-07-17 19:26:49 by krasimir]
krasimir [Wed, 17 Jul 2002 19:26:49 +0000 (19:26 +0000)]
[project @ 2002-07-17 19:26:49 by krasimir]
ObjectIO link

21 years ago[project @ 2002-07-17 13:49:15 by simonmar]
simonmar [Wed, 17 Jul 2002 13:49:15 +0000 (13:49 +0000)]
[project @ 2002-07-17 13:49:15 by simonmar]
Turn off prompt for non-TTY input (non-readline case)

21 years ago[project @ 2002-07-17 09:21:48 by simonmar]
simonmar [Wed, 17 Jul 2002 09:21:51 +0000 (09:21 +0000)]
[project @ 2002-07-17 09:21:48 by simonmar]
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).

21 years ago[project @ 2002-07-17 09:14:27 by simonmar]
simonmar [Wed, 17 Jul 2002 09:14:27 +0000 (09:14 +0000)]
[project @ 2002-07-17 09:14:27 by simonmar]
turn off -Wcast-align, it generates gobs of complaints on Sparc

21 years ago[project @ 2002-07-17 08:26:44 by simonmar]
simonmar [Wed, 17 Jul 2002 08:26:44 +0000 (08:26 +0000)]
[project @ 2002-07-17 08:26:44 by simonmar]
oops, missed one instance of __stginit_GHCziPrim (I killed it yesterday)

21 years ago[project @ 2002-07-16 22:26:49 by lewie]
lewie [Tue, 16 Jul 2002 22:26:49 +0000 (22:26 +0000)]
[project @ 2002-07-16 22:26:49 by lewie]
Fix typo in explanation of "What AbsBinds means" just to prove that I'm
not deadweight on the GHC committers list ;-)

21 years ago[project @ 2002-07-16 15:07:15 by simonmar]
simonmar [Tue, 16 Jul 2002 15:07:15 +0000 (15:07 +0000)]
[project @ 2002-07-16 15:07:15 by simonmar]
Silly me, the version number in the interface isn't correct until
after mkFinalIface, so don't grab it until then.

21 years ago[project @ 2002-07-16 14:56:08 by simonmar]
simonmar [Tue, 16 Jul 2002 14:56:11 +0000 (14:56 +0000)]
[project @ 2002-07-16 14:56:08 by simonmar]
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.

21 years ago[project @ 2002-07-16 14:49:38 by simonmar]
simonmar [Tue, 16 Jul 2002 14:49:38 +0000 (14:49 +0000)]
[project @ 2002-07-16 14:49:38 by simonmar]
comment fix

21 years ago[project @ 2002-07-16 12:05:37 by simonmar]
simonmar [Tue, 16 Jul 2002 12:05:37 +0000 (12:05 +0000)]
[project @ 2002-07-16 12:05:37 by simonmar]
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

21 years ago[project @ 2002-07-16 10:58:16 by simonmar]
simonmar [Tue, 16 Jul 2002 10:58:16 +0000 (10:58 +0000)]
[project @ 2002-07-16 10:58:16 by simonmar]
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

21 years ago[project @ 2002-07-16 10:51:12 by simonmar]
simonmar [Tue, 16 Jul 2002 10:51:12 +0000 (10:51 +0000)]
[project @ 2002-07-16 10:51:12 by simonmar]
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).

21 years ago[project @ 2002-07-16 10:17:37 by simonmar]
simonmar [Tue, 16 Jul 2002 10:17:37 +0000 (10:17 +0000)]
[project @ 2002-07-16 10:17:37 by simonmar]
GCC 3.1 on Sparc now uses '.long'.

21 years ago[project @ 2002-07-16 07:04:49 by stolz]
stolz [Tue, 16 Jul 2002 07:04:50 +0000 (07:04 +0000)]
[project @ 2002-07-16 07:04:49 by stolz]
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)

21 years ago[project @ 2002-07-16 06:42:04 by sof]
sof [Tue, 16 Jul 2002 06:42:04 +0000 (06:42 +0000)]
[project @ 2002-07-16 06:42:04 by sof]
Treat ';' and '{' as word separators, so that from
input like like "{import Foo" and ";;;;import Foo",
the 'Foo' imports are identified.

21 years ago[project @ 2002-07-15 16:43:34 by panne]
panne [Mon, 15 Jul 2002 16:43:34 +0000 (16:43 +0000)]
[project @ 2002-07-15 16:43:34 by panne]
* 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

21 years ago[project @ 2002-07-15 14:49:17 by simonmar]
simonmar [Mon, 15 Jul 2002 14:49:17 +0000 (14:49 +0000)]
[project @ 2002-07-15 14:49:17 by simonmar]
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

21 years ago[project @ 2002-07-15 08:41:46 by simonmar]
simonmar [Mon, 15 Jul 2002 08:41:46 +0000 (08:41 +0000)]
[project @ 2002-07-15 08:41:46 by simonmar]
Don't declare the StgClosures 'const' (they aren't declared 'const' in
generated code).

21 years ago[project @ 2002-07-15 08:41:02 by simonmar]
simonmar [Mon, 15 Jul 2002 08:41:02 +0000 (08:41 +0000)]
[project @ 2002-07-15 08:41:02 by simonmar]
Static closures are not declared 'const' in generated code, so don't
declare them 'const' in here.

Spotted-by: GCC 3.1

21 years ago[project @ 2002-07-15 07:24:58 by chak]
chak [Mon, 15 Jul 2002 07:24:58 +0000 (07:24 +0000)]
[project @ 2002-07-15 07:24:58 by chak]
Let `configure' know about the "m68k-unknown-openbsd" architecture.
Patch contributed by Donald Stewart <dons@cse.unsw.edu.au>.

21 years ago[project @ 2002-07-12 17:20:57 by sof]
sof [Fri, 12 Jul 2002 17:20:57 +0000 (17:20 +0000)]
[project @ 2002-07-12 17:20:57 by sof]
mkdll: in installed mode, invoke the 'dllwrap' that's distributed with GHC,
and feed it the right options.

Merge to STABLE.

21 years ago[project @ 2002-07-12 13:42:22 by simonpj]
simonpj [Fri, 12 Jul 2002 13:42:22 +0000 (13:42 +0000)]
[project @ 2002-07-12 13:42:22 by simonpj]
comments

21 years ago[project @ 2002-07-12 04:45:27 by sof]
sof [Fri, 12 Jul 2002 04:45:27 +0000 (04:45 +0000)]
[project @ 2002-07-12 04:45:27 by sof]
suggest compiling up the DLL wrapper .c file using 'ghc' rather than 'gcc'

21 years ago[project @ 2002-07-12 02:34:08 by chak]
chak [Fri, 12 Jul 2002 02:34:08 +0000 (02:34 +0000)]
[project @ 2002-07-12 02:34:08 by chak]
Updates for 5.04

21 years ago[project @ 2002-07-12 01:28:10 by chak]
chak [Fri, 12 Jul 2002 01:28:10 +0000 (01:28 +0000)]
[project @ 2002-07-12 01:28:10 by chak]
Added DocBook catalog location for OpenBSD as suggested by
Donald Stewart <dons@cse.unsw.edu.au>

21 years ago[project @ 2002-07-11 17:19:22 by sof]
sof [Thu, 11 Jul 2002 17:19:22 +0000 (17:19 +0000)]
[project @ 2002-07-11 17:19:22 by sof]
Use of InstallShield is a thing of the past

21 years ago[project @ 2002-07-11 11:24:31 by panne]
panne [Thu, 11 Jul 2002 11:24:31 +0000 (11:24 +0000)]
[project @ 2002-07-11 11:24:31 by panne]
Automagically insert links to the documentation of the OpenGL/GLUT
packages iff --enable-hopengl is used

21 years ago[project @ 2002-07-11 10:44:37 by panne]
panne [Thu, 11 Jul 2002 10:44:37 +0000 (10:44 +0000)]
[project @ 2002-07-11 10:44:37 by panne]
Corrected and normalized HTML

21 years ago[project @ 2002-07-11 09:44:41 by simonmar]
simonmar [Thu, 11 Jul 2002 09:44:41 +0000 (09:44 +0000)]
[project @ 2002-07-11 09:44:41 by simonmar]
Fix a couple of links in the announcement

21 years ago[project @ 2002-07-11 06:52:23 by ken]
ken [Thu, 11 Jul 2002 06:52:23 +0000 (06:52 +0000)]
[project @ 2002-07-11 06:52:23 by ken]
Perhaps defining _REENTRANT when gcc-compiling for the alpha would
help with RTS threading problems

21 years ago[project @ 2002-07-10 16:33:09 by sof]
sof [Wed, 10 Jul 2002 16:33:09 +0000 (16:33 +0000)]
[project @ 2002-07-10 16:33:09 by sof]
printDump,printErrs,printSDoc: flush stdout and stderr

21 years ago[project @ 2002-07-10 13:07:42 by simonpj]
simonpj [Wed, 10 Jul 2002 13:07:42 +0000 (13:07 +0000)]
[project @ 2002-07-10 13:07:42 by simonpj]
Fix trivial bug in WorkWrap that killed all INLINE pragmas!  Merge to STABLE

21 years ago[project @ 2002-07-10 13:06:35 by simonpj]
simonpj [Wed, 10 Jul 2002 13:06:35 +0000 (13:06 +0000)]
[project @ 2002-07-10 13:06:35 by simonpj]
Improve error message; merge to STABLE