[Gc] Porting gc to Linux Cris
simon.posnjak at siol.net
Thu Oct 7 06:19:45 PDT 2004
V sre, 06.10.2004 ob 19:15 je Boehm, Hans napisal(a):
> See https://www.hpl.hp.com/personal/Hans_Boehm/gc/debugging.html under "Prematurely Reclaimed Objects".
> Since you are clearly dealing with a collector problem, you should particularly look at the "If all else fails ..."
> section, which actually describes how to attack this with gdb.
> I would first check where in test.c it fails. Since you are dealing with port of a working collector, odds are that
> the collector's idea of where the roots (possible pointer variable locations) are is incorrect. The collector test
> manipulates lists that are pointed to by both statically allocated and stack variables. If it fails trying to access
> a list that was referenced by a stack variable, check that GC_stackbottom points to the base of the stack. If the
> list is referenced by a statically allocated variable, call GC_dump() from the debugger, and check that the variable
> is in one of the root ranges.
> If the collector test works substantially better without compiler optimization, suspect the code that pushes register
> contents onto the mark stack.
Thank you! I tracked down the problem to the alignment test code in the
test.c. I set the alignment to 4 but apparently CRIS has no alignment
restrictions, so the correct value is 1. Grr...
OK, I successfully tested it on my development board I am resending the
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 3480 bytes
Desc: not available
Url : https://napali.hpl.hp.com/pipermail/gc/attachments/20041007/98746074/gc6.3-cris.bin
More information about the Gc