source: trunk/gcc/boehm-gc/doc/README.MacOSX@ 3003

Last change on this file since 3003 was 2, checked in by bird, 22 years ago

Initial revision

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