[Gc] Parallel mark and thread local alloc

Emmanuel Stapf [ES] manus at eiffel.com
Tue Sep 14 18:47:19 PDT 2004


Hi,

I'd like to use PARALLEL_MARK and THREAD_LOCAL_ALLOC features with Solaris 8, but
when I add those options it fails to compile gc.a with the following errors:

Undefined                       first referenced
 symbol                             in file
GC_local_malloc_atomic              tests/test.o
GC_atomic_add                       gc.a(mallocx.o)
GC_compare_and_exchange             gc.a(alloc.o)
GC_memory_barrier                   gc.a(mark.o)
GC_local_malloc                     tests/test.o
GC_acquire_mark_lock                gc.a(mark.o)
GC_release_mark_lock                gc.a(mark.o)
GC_wait_for_reclaim                 gc.a(alloc.o)
GC_mark_thread_local_free_lists     gc.a(mark_rts.o)
GC_wait_marker                      gc.a(mark.o)
GC_notify_all_marker                gc.a(mark.o)
GC_init_parallel                    gc.a(misc.o)
GC_notify_all_builder               gc.a(mallocx.o)

The command line options are:

-I./include -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DNO_EXECUTE_PERMISSION -DSILENT
-D_REENTRANT -DTHREAD_LOCAL_ALLOC -DGC_SOLARIS_THREADS -DPARALLEL_MARK
-DGC_SOLARIS_PTHREADS 

Am I missing something?

Also it says somewhere that if one wants to use PARALLEL_MARK, one has to include
`gc.h' all the time before accessing any routine of the thread library. Is this
still the case? And a final question, it looks that to use PARALLEL_MARK on
Solaris, one has to use the pthread implementation and not the native thread
library, is it correct?

Thanks,
Manu

------------------------------------------------------------------------  
Eiffel Software	
805-685-1006	
http://www.eiffel.com	
Customer support: http://support.eiffel.com	
Product information: mailto:info at eiffel.com	
User group: http://groups.eiffel.com/join	
------------------------------------------------------------------------  



More information about the Gc mailing list