[Gc] Status of gc on Mac OS X running on intel proc ?

Boehm, Hans hans.boehm at hp.com
Fri Sep 29 11:02:50 PDT 2006


I checked this into the 7.0 tree, with some (untested) adjustments.  I will test on MacOS/PPC tonight if nobody beats me to it.  (I did test on Linux, but ...)

The adjustments consisted of:

- Indent #if's (except for the # itself).  This is the usual convention in the collector.
- Leave the GC_printf3, but change it to a GC_printf.  In general, versions up to 6.X use GC_printf<n>, where
n is the number of additional arguments.  Version 7 uses just GC_printf, and finally relies on stdarg.h.  (After 17 years, it seems safe to assume that compilers have gotten it right by now :-) )


> -----Original Message-----
> From: Renaud Blanch [mailto:renaud.blanch at imag.fr] 
> Sent: Friday, September 29, 2006 6:02 AM
> To: Boehm, Hans
> Cc: gc at napali.hpl.hp.com
> Subject: Re: [Gc] Status of gc on Mac OS X running on intel proc ?
> Le 28 sept. 06 à 23:02, Boehm, Hans a écrit :
> > Thanks.  It looks like there are two issues here:
> >
> > 1) Thread_get_state usually fails in gctest.  The calling 
> code is at 
> > around line 100 in darwin_stop_world.c.  It would be good to see if 
> > you can get more information from the return code or 
> anything else to 
> > figure out why this is happening.  I think this is the most serious 
> > problem.
> I have investigated this issue.
> thread_get_state returns KERN_INVALID_ARGUMENT.
> It seems related to the usage of the generic 
> When replaced with specific i386_THREAD_STATE* constant, 
> every thing works on my machine (configured with 
> --enable-threads=posix).
> You will find below a patch that replace MACHINE_* with PPC_* 
> or i386_ constants according to he POWERPC or I386 defines.
> I don't understand why MACHINE_* constants are not defined 
> properly (is it related to my system, a bug in Apple headers, 
> or a problem with configure), but the patch does the work and 
> should work with PPC architecture (not tested).
> The patch also comments a call to GC_printf3 which was done 
> when DEBUG_THREADS is set, but this function does not seem to 
> exist in the
> gc7.0alpha7 distribution.

More information about the Gc mailing list