On Fri, 2008-11-14 at 17:43 +0100, Nicolas Cannasse wrote:
> Should be fixed on CVS.

great, thanks.

although, i get another error:
make: [createbin] Error 1 (ignored)
cc -Wall -O3 -fPIC -fomit-frame-pointer -I vm -D_GNU_SOURCE -D_64BITS
-pthread -o vm/threads.o -c vm/threads.c
vm/threads.c: In function ‘neko_thread_register’:
vm/threads.c:205: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or
‘__attribute__’ before ‘unreg_my_thread’
vm/threads.c:206: error: ‘unreg_my_thread’ undeclared (first use in this
function)
vm/threads.c:206: error: (Each undeclared identifier is reported only
once
vm/threads.c:206: error: for each function it appears in.)
vm/threads.c:207: warning: implicit declaration of function
‘unreg_my_thread’
vm/threads.c:223: warning: implicit declaration of function
‘neko_gc_register_thread’


i managed to work around with the following patch; though i havent
tested threads, really:

diff -r1.13 threads.c
153c153
<       typedef void (*std_func)();
---
>       typedef int (*std_func)();
205c205,206
<       static gc_stack_ptr get_sb = NULL, my_thread = NULL, std_func
unreg_my_thread;
---
>       static gc_stack_ptr get_sb = NULL, my_thread = NULL;
>       static std_func unreg_my_thread;
223c224,229
<               return neko_gc_register_thread();
---
> 
>               __stack_base sb;
>               int r = GC_register_my_thread(&sb);
>               if( get_sb(&sb) != GC_SUCCESS )
>                       return 0;
>               return( r == GC_SUCCESS || r == GC_DUPLICATE );


note that this is with gc-7.1, as comments in the code hinted at maybe
that would be good to try. i had to install it manually though- gc-7 is
not available for ubuntu yet.

-dan



--
Neko : One VM to run them all
(http://nekovm.org)

Reply via email to