Am 09.11.2010 um 19:07 schrieb Blue Swirl:
On Mon, Nov 8, 2010 at 11:20 PM, Andreas Färber <andreas.faerber@web.de
wrote: Move trampoline variable initialization to init_trampoline(), like in kernel/bootstrap.c.
Add calls to a new forth_init() function for each architecture to invoke it. Idea courtesy of Blue.
Looks OK. I tried a slightly different approach (attached). I added Mark's excellent analysis as a comment.
General setup_trampoline() idea is fine with me. Please avoid indentation changes though, you're replacing single tabs with 8 spaces.
Are you sure it doesn't need to be initialized from anywhere else, like load_dictionary() or forth_init(), for the initialization to take effect before any of these?
However, ppc64 does not build for me: GEN bootstrap.dict panic: segmentation violation at 0xccbd062c dict=0x2aecccbd0010 here=0x2aecccbd0638(dict+0x628) pc=0x0(dict +0x3342fff0) dstackcnt=0 rstackcnt=0 instruction=deadbeef dstack: 0x0 rstack: 0x0 Writing dictionary core file <trampoline.diff>
Will check.
You are aware that there is no dependency rule for internal.c since it is #included from primitives.c? You either need to do `make clean` first or reconfigure for changes to take effect.
Andreas