> > 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

Reply via email to