Re[2]: [Gc] GC + Windows Mobile + Threads

Ivan Maidanski ivmai at mail.ru
Sun Aug 2 11:26:43 PDT 2009


Hi!

Two days ago I wrote:
> Hi!
> 
> Zeyi Lee <biosli at hotmail.com> wrote:
> > Dear All:
> > 
> > I hope you are well. 
> > 
> > I downloaded the latest GC from CVS to build a GC lib running under Windows 
> > Mobile 5.0 ARM. To see if it supports threads, I made following modifications:
> > ...
> > -# if defined(GC_WIN32_THREADS) && !defined(MSWIN32) && !defined(CYGWIN32)
> > +# if defined(GC_WIN32_THREADS) && !defined(MSWINCE) && !defined(MSWIN32) && !
> > defined(CYGWIN32)
> >     --> inconsistent configuration
> >  # endif
> > 
> > Then, I got errors listed below:
> > 
> > 1>.\source\win32_threads.c(255) : error C4013: 'AO_nop_full' undefined; 
> > assuming extern returning int
> > ...
> > I think these errors caused by atomic_ops lib which I didn't use. Instead, I 
> > built gc like a static library so I commented them:
> 
> I think, it's better to first get libatomic working with MS WinCE.
> 
> > 
> > -  if (GC_win32_dll_threads) {
> > ...
> > +  //if (GC_win32_dll_threads) {
> > ...
> > 
> > The last problem is "unresolved external symbol GC_thr_init" ,which I found 
> > this function in win32_threads.c. but no Wince Version available.  If I 
> > comment it from GC_init_inner, it will alert:
> > 
> > GC_stop_world() called before GC_thr_init()
> > C_stop_world() called before GC_thr_init()
> > 
> >        Pls kindly share your thoughts.
> > 
> > Thanks and regards,
> > GC Beginner 
> > Zeyi Lee
> 
> I've just revised single-threaded case for MS WinCE (a dozen of minor changes working around deprecated functions just to get GC at least compilable w/o warnings (with -W3), and start looking into the multi-threaded one.

I've added initial support for VC++ ARM to libatomics.

As for GC_thr_init() (and issues with GC_win32_dll_threads), You are right - I'm fixing it right now. Moreover, it's possible not to use libatomics at all under some conditions (eg., w/o PARALLEL_MARK) - I'll investigate it too.

Bye.



More information about the Gc mailing list