comparison gc/doc/README.MacOSX @ 51488:5de98dce4bd1

*** empty log message ***
author Dave Love <fx@gnu.org>
date Thu, 05 Jun 2003 17:49:22 +0000
parents
children
comparison
equal deleted inserted replaced
51487:01d68b199093 51488:5de98dce4bd1
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).
28
29 Feb 26, 2003
30
31 Jeff Sturm and Jesse Rosenstock provided a patch that adds thread support.
32 GC_MACOSX_THREADS should be defined in the build and in clients. Real
33 dynamic library support is still missing, i.e. dynamic library data segments
34 are still not scanned. Code that stores pointers to the garbage collected
35 heap in statically allocated variables should not reside in a dynamic
36 library. This still doesn't appear to be 100% reliable.
37
38 Mar 10, 2003
39 Brian Alliet contributed dynamic library support for MacOSX. It could also
40 use more testing.