[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / docs / ANNOUNCE-0.25
1 A binary-only from-working-sources no-guarantees snapshot of the
2 Glasgow Haskell compiler (GHC) for Linux x86 machines is now available
3 by FTP from ftp.dcs.glasgow.ac.uk, in
4 pub/haskell/glasgow/ghc-0.25-linux.tar.gz.
5
6 This release is the first, long-awaited "registerized" GHC for Linux,
7 which produces code of reasonable size and speed.  We use our normal
8 technique of "stealing registers" with GCC's
9 global-variables-in-registers facility.  We "steal" six of the x86's
10 eight general-purpose registers, including the C stack-pointer (%esp),
11 which we use for the heap pointer (Hp).
12
13 To use this GHC, you need a special version of GCC, which is also
14 provided in the distribution (under "gcc-linux-to-linux").  Whatever
15 you do, please do *not* report any "bugs" in this GCC to bug-gcc --
16 report them to *me* instead.
17
18 One special thing you must watch out for: If GCC "crashes" with a
19 message about spilling registers, it is *not* a GCC problem.  It means
20 you must get GHC to "back off" in its register "stealing".  First try
21 a -monly-4-regs flag, then -monly-3-regs, and as a last resort,
22 -monly-2-regs.  As far as we know, all Haskell code goes through GHC
23 with a -monly-2-regs flag (but it produces substantially worse code
24 with that flag).
25
26 Profiling is not provided in this release.
27
28 Please report any bugs to glasgow-haskell-bugs@dcs.glasgow.ac.uk.
29
30 Will Partain
31 AQUA project (slave)
32
33 Dated: 95/04/01
34
35 === INSTALLATION NOTES ==============================================
36
37 Unpack the distribution.
38
39 Move "gcc-linux-to-linux" and "ghc-0.25-linux" wherever you like.
40
41 Alter the "gcc" script to point to wherever you've put
42 "gcc-linux-to-linux", and put the "gcc" script wherever you wish in
43 your PATH.
44
45 Make a link to ghc-0.25-linux/ghc/driver/ghc, so that "ghc" will be in
46 your PATH.
47
48 Change *all* hardwired paths in ghc/driver/ghc and in
49 ghc/utils/hscpp/hscpp to point to where things are on your system.
50 Notably: where "perl" is (first line of each script), where $TopPwd is
51 (ghc script), where your gcc cpp is (hscpp script).
52
53 GHC should then work.  Try "ghc -v" on something simple, to make sure
54 it compiles and links a program correctly.