[Gc] Porting gc to Linux Cris

Simon Posnjak 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 http://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
patch.

		Regards Simon

-------------- next part --------------
A non-text attachment was scrubbed...
Name: gc6.3-cris.diff
Type: text/x-patch
Size: 3480 bytes
Desc: not available
Url : http://napali.hpl.hp.com/pipermail/gc/attachments/20041007/98746074/gc6.3-cris.bin


More information about the Gc mailing list