trying to get a registerised alpha build

Simon Marlow simonmarhaskell at gmail.com
Fri Mar 31 05:43:08 EST 2006


Duncan Coutts wrote:

> What would you recommend is the bat way for us to verify that each bit
> of the registerised build is working? If we turn everything on including
> the mangler and it breaks where do we start debugging?

I usually do this in one big step.

Regarding debugging, I just wrote this wiki page:

   http://hackage.haskell.org/trac/ghc/wiki/DebuggingGhcCrashes

That should tell you everything you need to know, please feel free to 
expand it as you discover things.

> Is it possible to build without tailcalls (ie using the
> mini-interpreter) but using the stg->machine register mappings?

Certainly.  I think if you use -optc-DUSE_MINIINTERPRETER and 
-fno-asm-mangling everywhere, that should get you registers but no 
mangling or tail calls.

> Or how
> about the other way around - using tail calls (& that aspect of the
> mangler) but not using any machine regs. And similarly, can we not turn
> on the tables next to code bits?

TABLES_NEXT_TO_CODE requires the mangler.

You can certainly turn on tail calls and mangling without registers; 
either set the register mappings in MachRegs.h to empty, or just use 
-optc-DNO_REGS everywhere.

> What's the best way of building stage1/stage2 ghc and all the C code it
> generates with debugging info?

It should be possible to compile via C with debugging info as long as 
you're not using the mangler, but I don't think I've ever done it.  Just 
add -optc-g to SRC_HC_OPTS.

> We're using this mk/build.mk:
> 
> SRC_HC_OPTS     = -H32m -O0
> GhcStage1HcOpts = -O0 -DDEBUG
> GhcStage2HcOpts = -O0 -DDEBUG -optc-g
> GhcLibHcOpts    =
> GhcLibWays      = debug

There's no such way as 'debug', except for the RTS.  So this probably 
doesn't do anything.

> SplitObjs       = NO
>
> Sorry, lots of questions. :-)
> 
> But if we can get registerised alpha working, we'll try hppa & mips
> next... ;-)

Great!

Cheers,
	Simon



More information about the Glasgow-haskell-bugs mailing list