Tetsu Ushijima, tu@pobox.com
19970820; revised 20000505
The latest non-alpha gc package (the Boehm-Demers-Weiser conservative garbage collector) is gc4.14.tar.gz , available from www.hpl.hp.com . Rather old versions are also available from reality.sgi.com and parcftp.xerox.com.
See Hans-J. Boehm's gc page for the official information about the gc package.
I've installed several versions of the gc package on some platforms. I concentrated my efforts on building gc.a and on making gctest to work. Here are some notes on installing the gc package.
No problem.
I used binutils 2.8.1, gcc 2.7.2.1, and make 3.75.
Use ``djtarx -d ...'' to unpack a gzipped tar file. It fails to extract ``gc/solaris_pthreads.c'' since another file ``gc/solaris_threads.c'' has been extracted as ``gc/solaris_.c''. You can type RET to discard this file when prompted for a new file name. The package contains two copies of `gc/include/gc_cpp.h'. When you are prompted for a new file name, simply type RET.
Type ``make -f Makefile.dj gc.a'' to create the file gc.a.
You will see warning messages ``config.h:198: warning: `DJGPP' redefined'', which can be safely ignored.
Type ``make -f Makefile.dj KandRtest'' to test. gctest took about 18 minutes to complete.
Sony CC 2.11 doesn't support concatenations of string constants. You need to modify test.c (line 860).
[Sony CC 2.11 is the C compiler bundled in NEWS-OS 4.2.1R.]
I used gcc 2.7.2
No problem.
No problem.
I used binutils 2.8.1, gcc 2.7.2.1, and make 3.75.
Use ``djtarx -d ...'' to unpack a gzipped tar file. The package contains two copies of `gc/include/gc_cpp.h'. When you are prompted for a new file name, simply type RET.
The file Makefile.dj is corrupted around line 75. Comment out the line that starts with ``directory''. This bug is fixed in 4.12.
The definitions of DATASTART and STACKBOTTOM in config.h don't seem right. You should change these definitions as done in 4.12.
The file os_dep.c has a typo in line 96. This line should be: ``typedef long unsigned int caddr_t;''. This bug is fixed in 4.12.
Type ``make -f Makefile.dj'' to create the file gc.a.
You will see warning messages ``config.h:193: warning: `DJGPP' redefined'', which can be safely ignored.
Type ``make -f Makefile.dj KandRtest'' to test. gctest took about 23 minutes to complete.
The file gc_priv.h has a typedef for ptrdiff_t (line 23). You need to remove this typedef because <stddef.h> does define it. This problem is fixed in 4.12.
You need to modify Makefile so that mach_dep.o will be made from mips_ultrix_mach_dep.s. This problem is fixed in 4.12.
A non-standard C compiler such as Sony CC 2.11 suffers from inconsistencies between gc_typed.h and typd_mlc.c. You need to replace ``void *'' with ``GC_PTR'' in gc_typed.h. This problem is fixed in 4.12.
Sony CC 2.11 doesn't support concatenations of string constants. You need to modify test.c (line 860).
[Sony CC 2.11 is the C compiler bundled in NEWS-OS 4.2.1R.]
I used gcc 2.7.2.
No problem.