> > A strange bug indeed, but what brings you to this conclusion?
>
> Because
> (1) I hacked the *.S code that start STG execution to call
> printf after each instruction, and the allocate stack
> space *instruction* caused the problem.
You mean this one:
subl $RESERVED_C_STACK_BYTES + 4*SIZEOF_LONG,%esp
subracting from %esp caused the program to exit? Surely not!
> (2) I made the first invocation of this code call alloca (via a
> large array), then free the space, the calls the STG code,
> and thing work.
As far as I know, alloca just subtracts from %esp to allocate stack space,
unless you have to do something special on Win32 (unlikely - normal C
functions just allocate stack space at will).
still bemused...
Simon