Re: [Gc]: GC + Windows Mobile + Threads + Patch for WINCE
ivmai at mail.ru
Mon Nov 9 02:09:40 PST 2009
Zeyi Lee <biosli at hotmail.com> wrote:
> > > Yes, as you said the "goto handle_ex"(mark.c(GC_mark_some) Line: 519 ) was hit. It seems the old problem.
> > And you are not defining GC_REGISTER_MEM_PRIVATE, right? It's interesting what're the memory region attributes to which the address (raising Data Abort) belongs.
> No, I'm not defining GC_REGISTER_MEM_PRIVATE.
In the phrase "It's interesting..." I just wanted you to compile this test case with -DDEBUG_VIRTUALQUERY and send me what's printed in the log (the lines starting with "BaseAddress=").
> > Do MAKE_BACK_GRAPH, GC_PRINT_VERBOSE_STATS, DEBUG_THREADS matter the problem? (i.e. if you comment out these 3 definitions, would the problem go away?)
> Yes, comment out them, the test program runs OK.
> > Did you try with -DGC_ASSERTIONS?
> Test only with GC_ASSERTIONS is OK, but add with MAKE_BACK_GRAPH the test failed(ABORT--"Collecting from unknown thread").
So the problem occurs if compiled with MAKE_BACK_GRAPH.
> > Also try with GC_DISABLE_INCREMENTAL (either macro or environment variable).
> The same with above.
> > I tried to reproduce the problem (using the latest CVS) but failed (it runs ok):
> > I've compiled (on VS 2005 x86) the test with your options (_CRT_SECURE_NO_DEPRECATE just suppresses warnings):
> > cl -MT -DGC_THREADS -DMAKE_BACK_GRAPH -DGC_PRINT_VERBOSE_STATS -DDEBUG_THREADS -Iinclude -Ilibatomic_ops\src -D_CRT_SECURE_NO_DEPRECATE tests\test.c *.c user32.lib /link /stack:65536
Or you may safely use extra\gc.c instead of *.c.
> I tried to build the program in command line as you said.(This is the first time I compile program without IDE)
> The file os_dep.c, it seems no use in win32 program, and it occus compile error, so I remove it.
os_dep.c is required. Which compile errors it produces?
> Then, I got LINK errors...
> allchblk.obj : error LNK2001: unresolved external symbol _GC_remove_protection
Not a surprise, all these symbols are defined in os_dep.c.
> What should I do? Do me a faver, pls.
It's strange that you got compile errors in os_dep.c. Do you have completely modified bdwgc source (the latest CVS version)?
> > Could you try it on your side? If it will run ok (several times), then send me (not to ML) the diff between preprocessor output (using -E option) of your version (based on the latest CVS) and mine one.
More information about the Gc