[Gc] OS X patch against 6.8: segfault fix (and other OS X fixes)

Boehm, Hans hans.boehm at hp.com
Thu Dec 14 14:11:00 PST 2006


I checked in the OS X changes into the sourceforge CVS tree.  The result
seems to work on 10.2/PPC.  I'd appreciate if someone could test this on
more modern hardware and software, and ideally send any further required
patches.


> -----Original Message-----
> From: Allan Hsu [mailto:allan at counterpop.net] 
> 
> I'm not sure which patch you're referring to here. If you're 
> talking about the MACHINE_THREAD_STATE patch, that patch 
> should not change behavior... it's just required for source 
> compatibility with the new
> i386 Mach headers that ship with XCode 2.4. They changed the 
> value of MACHINE_THREAD_STATE on i386 but current kernels 
> don't understand the new value, just the old one, which is 
> still accessible by its old name, i386_THREAD_STATE. It's a 
> really puzzling change that makes MACHINE_THREAD_STATE 
> unusable for anybody that wants to generate code for i386.
> 
Yes.  The issues I had were mostly with that code, and with the varying
names for register fields in the state structure.  I can't really test
any of this.  The gcc tree had a lot of the changes, but not the
i386_THREAD_STATE
ones.

There is still an issue with the register names, in that it now relies
critically on autoconf, which means Makefile.direct currently only works
if you have the old (non-double-underscore) names.  But since I may be
one of the last people using that occasionally, and it probably works on
my machine ... :-)

Hans



More information about the Gc mailing list