Annotation of OpenXM_contrib2/asir2000/gc/doc/README.MacOSX, Revision 1.1
1.1 ! noro 1: While the GC should work on MacOS X Server, MacOS X and Darwin, I only tested
! 2: it on MacOS X Server.
! 3: I've added a PPC assembly version of GC_push_regs(), thus the setjmp() hack is
! 4: no longer necessary. Incremental collection is supported via mprotect/signal.
! 5: The current solution isn't really optimal because the signal handler must decode
! 6: the faulting PPC machine instruction in order to find the correct heap address.
! 7: Further, it must poke around in the register state which the kernel saved away
! 8: in some obscure register state structure before it calls the signal handler -
! 9: needless to say the layout of this structure is no where documented.
! 10: Threads and dynamic libraries are not yet supported (adding dynamic library
! 11: support via the low-level dyld API shouldn't be that hard).
! 12:
! 13: The original MacOS X port was brought to you by Andrew Stone.
! 14:
! 15:
! 16: June, 1 2000
! 17:
! 18: Dietmar Planitzer
! 19: dave.pl@ping.at
! 20:
! 21: Note from Andrew Begel:
! 22:
! 23: One more fix to enable gc.a to link successfully into a shared library for
! 24: MacOS X. You have to add -fno-common to the CFLAGS in the Makefile. MacOSX
! 25: disallows common symbols in anything that eventually finds its way into a
! 26: shared library. (I don't completely understand why, but -fno-common seems to
! 27: work and doesn't mess up the garbage collector's functionality).
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>