[Gc] Has anyone tried the GC on Nokia 770, N800 or arm qemu ?

Stephane Epardaud Stephane.Epardaud at sophia.inria.fr
Mon Jan 29 02:26:23 PST 2007


Boehm, Hans wrote:
> I don't think there are any exit() calls in the source that aren't
> preceded by some indication of an error.  Can you run a debugger and set
> a breakpoint in exit()?  I'm not sure what the "245" indicates, but if
> it's the argument to exit(), this is even more mysterious.
> 
> You might also set a breakpoint in abort(), just in case that's somehow
> getting mishandled.

Hi, thanks for your advices. I can't seem to run gdb for ARM using 
QEMU/Scratchbox, so I'm left with printf...
I managed to nail it down to mark.c in GC_mark_from(), near the end around this 
loop:

	for(;;) {
	  PREFETCH(limit - PREF_DIST*CACHE_LINE_SIZE);
	  GC_ASSERT(limit >= current_p);
	  deferred = *(word *)limit;
	  FIXUP_POINTER(deferred);



my printf tell me the problem is the line:
	  deferred = *(word *)limit;

With limit starting at 0xb7f18474 and going fine until 0xb7f1905c where the 
program quits. Is there supposed to be a handler installed trapping invalid 
accesses to limit ?


More information about the Gc mailing list