Fwd: [Gc] Re: Is RTEMS supported by bdwgc now ?

刘杰 lj8175 at gmail.com
Sat Apr 9 20:19:08 PDT 2011


Hi Ivan Maidanski,

I use 'cvs -z3 -d:pserver:anonymous at bdwgc.cvs.sourceforge.net:/cvsroot/bdwgc
co -P bdwgc' to checkout your code.
And then configure it as './configure --disable-shared --disable-threads
--target=i386-rtems4.10 --host=i386-rtems4.10
--libdir=/opt/rtems-4.10/i386-rtems4.10/lib
--includedir=/opt/rtems-4.10/i386-rtems4.10/include
--prefix=/home/rtems/bdwgc/install', after add some header files as:
Index: alloc.c
===================================================================
RCS file: /cvsroot/bdwgc/bdwgc/alloc.c,v
retrieving revision 1.67
diff -r1.67 alloc.c
24a25,28
> #if defined(RTEMS)
> # include<sys/unistd.h>
> #endif
>
Index: reclaim.c
===================================================================
RCS file: /cvsroot/bdwgc/bdwgc/reclaim.c,v
retrieving revision 1.23
diff -r1.23 reclaim.c
19a20,23
> #if defined(RTEMS)
> # include<sys/unistd.h>
> #endif
>

Now, I can get my libgc.a. I use follow to test my code:

>   int i;
>   GC_INIT();
>
>   for(i=0;i<10000000;++i){
>     int **p=(int **)GC_MALLOC(sizeof(int *));
>     int *q=(int *)GC_MALLOC_ATOMIC(sizeof(int));
>     assert(*p==0);
>     *p=(int *)GC_REALLOC(q,2*sizeof(int));
>     if(i%100000==0)
>      printf("Heap size=%d\n",GC_get_heap_size());
>   }
It's output has attached as screen.txt.  I am trying to test bdwgc for
RTEMS/i386 cleanly, but RTEMS doesn't support virtual memory and has it's
own  entry point as Init but not main, so I need to  modify the code in
bdwgc/tests.

If you are interested in or have experience in that, I want to get some
advices form you.  ^_^

Thanks,
Jie
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://napali.hpl.hp.com/pipermail/gc/attachments/20110410/fe89ff3a/attachment.htm


More information about the Gc mailing list