> since even ghostscript doesn't get into this state, i'd be interested > in the line of code (and types of the variables) that hits this fatal > condition.
Here it is, "before" and "after" I applied some trivial "simplification": /* for(i=0, j=(stkptrsize-stkzerosize)/widthptr*2; i<stkzerosize; i+=widthptr, j+=2) if(bvget(bv, j) || bvget(bv, j+1)) p = appendp(p, AMOVL, D_CONST, 0, D_SP+D_INDIR, frame-stkzerosize+i); */ i = 0; j = (stkptrsize-stkzerosize)/widthptr*2; while (i < stkzerosize) { int f = frame - stkzerosize + i; if(bvget(bv, j) || bvget(bv, j+1)) { p = appendp(p, AMOVL, D_CONST, 0, D_SP+D_INDIR, f); } i += widthptr; j += 2; } around line 40 in $GOROOT/src/cmd/8g/ggen.c. Thank you, Erik, for your invaluable input, it seems to work now. ++L