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