Instructions for Symbian: 1. Build: use libgc.mmp (the sample for s60v3 is provided below) 2. Limitations 2.1. No multi-threaded support yet 2.2. Be careful with limitation that emulator introduces: Static roots are not dynamically accessible (there are Symbian APIs for this purpose but are just stubs, returning irrelevant values). Consequently, on emulator, you can only use dlls or exe, and retrieve static roots by calling global_init_static_root per dll (or exe). On target, only libs are supported, because static roots are retrieved by linker flags, by calling global_init_static_root in main exe. bld.inf sample contents: PRJ_PLATFORMS default armv5 PRJ_MMPFILES libgc.mmp libgc.mmp sample contents: TARGET libgc.dll TARGETTYPE dll UID 0x1000008d 0x200107C2 // check uid EXPORTUNFROZEN EPOCALLOWDLLDATA CAPABILITY PowerMgmt ReadDeviceData ReadUserData WriteDeviceData WriteUserData SwEvent LocalServices NetworkServices UserEnvironment MACRO ALL_INTERIOR_POINTERS MACRO NO_EXECUTE_PERMISSION MACRO USE_MMAP MACRO GC_ATOMIC_UNCOLLECTABLE MACRO GC_DONT_REGISTER_MAIN_STATIC_DATA MACRO GC_DLL MACRO JAVA_FINALIZATION MACRO SYMBIAN MACRO ENABLE_DISCLAIM USERINCLUDE .\include USERINCLUDE .\include\private SYSTEMINCLUDE \epoc32\include SYSTEMINCLUDE \epoc32\include\stdapis SOURCEPATH . SOURCE extra/gc.c SOURCE extra/symbian.cpp SOURCE extra/symbian/global_end.cpp SOURCE extra/symbian/global_start.cpp SOURCE extra/symbian/init_global_static_roots.cpp STATICLIBRARY libcrt0.lib LIBRARY libc.lib LIBRARY euser.lib LIBRARY efsrv.lib LIBRARY avkon.lib LIBRARY eikcore.lib