~ubuntu-branches/ubuntu/quantal/libgc/quantal

« back to all changes in this revision

Viewing changes to doc/README.linux

  • Committer: Bazaar Package Importer
  • Author(s): Christoph Egger
  • Date: 2011-02-19 12:19:56 UTC
  • mfrom: (1.3.2 upstream) (0.1.5 experimental)
  • mto: This revision was merged to the branch mainline in revision 14.
  • Revision ID: james.westby@ubuntu.com-20110219121956-67rb69xlt5nud3v2
Tags: 1:7.1-5
Upload to unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
   pthread implementations (in particular it will *not* work with
27
27
   MIT pthreads).
28
28
 
29
 
2) You must compile the collector with -DGC_LINUX_THREADS and -D_REENTRANT
30
 
   specified in the Makefile.
 
29
2) You must compile the collector with -DGC_LINUX_THREADS (or
 
30
   just -DGC_THREADS) and -D_REENTRANT specified in the Makefile.
31
31
 
32
32
3a) Every file that makes thread calls should define GC_LINUX_THREADS and 
33
33
   _REENTRANT and then include gc.h.  Gc.h redefines some of the
55
55
   conditions, this may cause unexpected heap growth.
56
56
 
57
57
5) The combination of GC_LINUX_THREADS, REDIRECT_MALLOC, and incremental
58
 
   collection fails in seemingly random places.  This hasn't been tracked
59
 
   down yet, but is perhaps not completely astonishing.  The thread package
60
 
   uses malloc, and thus can presumably get SIGSEGVs while inside the
61
 
   package.  There is no real guarantee that signals are handled properly
62
 
   at that point.
 
58
   collection is probably not fully reliable, though it now seems to work
 
59
   in simple cases.
63
60
 
64
61
6) Thread local storage may not be viewed as part of the root set by the
65
62
   collector.  This probably depends on the linuxthreads version.  For the
66
63
   time being, any collectable memory referenced by thread local storage should
67
64
   also be referenced from elsewhere, or be allocated as uncollectable.
68
 
   (This is really a bug that should be fixed somehow.)
 
65
   (This is really a bug that should be fixed somehow.  The current GC
 
66
   version probably gets things right if there are not too many tls locations
 
67
   and if dlopen is not used.)
69
68
 
70
69
 
71
70
M68K LINUX: