GHC Alpha port?

Ken Shan
Tue, 10 Jul 2001 15:53:10 -0400

Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On 2001-07-10T10:24:30+0100, Simon Marlow wrote:
> Great, you're in uncharted territory now :-)  (no-one has bootstrapped
> from unregisterised .hc files with 5.00 yet...)


> Ok, for unregisterised building we need to disable the mangler.  You
> should be able to just compile the .hc files directly using gcc, but
> you'll need to make sure that -DNO_REGS and -DUSE_MINIINTERPRETER are
> added to gcc's command line.

For now, I added these flags to EXTRA_CC_OPTS in mk/  It
seems to work.  Meanwhile --

> The relevant makefile code is in fptools/mk/ - I'm sure
> you'll be able to modify it to do the right thing.  When you've got it
> working we'll think about how to set up the bootstrapping system so
> mangling is optional.

I wonder if it matters whether PLATFORM_CC_OPTS is set to -static in
mk/  The comments there say that the flags "should match
the list in machdepCCOpts in ghc/compiler/DriverFlags.hs", and
DriverFlags.hs does set -static for alpha.

(By the way, are *_hsc.[hc] files considered part of the ".hc
distribution"?  I needed them for compiling, say, Directory.hc.)

Anyway, the current hurdle is that
        ghc/lib/std/PrelInt.hc doesn't compile
because int64ToIntegerzh_fast is not declared
because ghc/includes/PrimOps.h did not declare it
because SUPPORT_LONG_LONGS is not defined in ghc/includes/StgTypes.h
because SUPPORT_LONG_LONGS is defined in ghc/includes/StgTypes.h
        if and only if HAVE_LONG_LONG && SIZEOF_VOID_P < 8,
        and SIZEOF_VOID_P is 8.

I'm not sure what the right fix is here.  Why does StgTypes.h not
define SUPPORT_LONG_LONGS if SIZEOF_VOID_P >=3D 8, anyway?

Edit this signature at
"There isn't anyone out there who isn't Seymour's fat lady."

Content-Type: application/pgp-signature
Content-Disposition: inline

Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see