[Gc] Status of gc on Mac OS X running on intel proc ?
allan at counterpop.net
Fri Sep 29 12:30:08 PDT 2006
On Sep 29, 2006, at 6:01 AM, Renaud Blanch wrote:
> I have investigated this issue.
> thread_get_state returns KERN_INVALID_ARGUMENT.
> It seems related to the usage of the generic MACHINE_THREAD_STATE*
> 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).
I've actually been aware of this problem for a few weeks and I
apologize for not posting to the list earlier, but I was waiting on
more information and possibly the "proper" solution.
This is a recent change to the 10.4u SDK headers. Before XCode 2.4,
MACHINE_THREAD_STATE worked fine on i386. The value of
MACHINE_THREAD_STATE used to be 1 on both platforms, but since XCode
2.4, it is now 7 on i386. It looks like currently shipping OS X
kernels still speak the pre-XCode 2.4 values on x86 machines. I'm
currently asking around the about why the constants have changed.
I just heard from an Apple developer (while writing this email) that
the header change is in order to accommodate 64-bit systems and it is
binary compatible, but not source compatible. According to him: "If
you need source code built with the latest SDK to run on Intel Macs
running versions of Mac OS X which shipped before the Mac Pro, use
Additional testing shows that today's 10.4.8 update still has
problems with the new MACHINE_THREAD_STATE, so I can only assume that
"versions of Mac OS X which shipped before the Mac Pro" means a full
10.X release and not minor updates.
Allan Hsu <allan at counterpop dot net>
1E64 E20F 34D9 CBA7 1300 1457 AC37 CBBB 0E92 C779
More information about the Gc