[Neko] Compiling from CVS on AMD64 (was: Compiling from CVS on
AMD64 MacOS X)
ncruces
ncruces at gmail.com
Fri Mar 31 17:38:08 CEST 2006
On 3/31/06, Nicolas Cannasse <ncannasse at motion-twin.com> wrote:
> Uhm that's problematic.
>
> The neko_check_stack function is checking that the stack is not changed
> in functions, and that the functions does not access outside their
> stacks (for security reasons). It's an important part of the bytecode
> validation.
>
> Could you add printf's in neko_check_stack at the places where there is
> "return 0" ?
Did that. It breaks on line 180 (by the way, these line numbers are
now the same as current CVS). And then I added more useful stuf to
that specific printf. This is what I get:
neko_check_stack at 180: c=AccStack i=80106 m->code[i+1]=4294967296
stack=5
ERROR at 475
From the way I did things (printfs on each and every "return 0;") I
gather there are no recursive calls. That huge number, 4294967296, is
0x100000000 (a lone 32nd bit). I also checked to make sure "sizeof
m->code[i+1]" (which is an int_val or intptr_t) is indeed 8 in this
architecture.
Nuno Cruces
More information about the Neko
mailing list