Zoltan Varga 24edeb948c 2005-10-11 Zoltan Varga <[email protected]> 20 lat temu
..
Mac_files 3cca3c82b8 Add libgc to mono 21 lat temu
cord 3cca3c82b8 Add libgc to mono 21 lat temu
doc 261af5bf28 remove .cvsignore, as this is not used anymore 21 lat temu
include 24edeb948c 2005-10-11 Zoltan Varga <[email protected]> 20 lat temu
AmigaOS.c 5434fa20f2 remove svn:executable from *.cs *.c *.h 21 lat temu
BCC_MAKEFILE 3cca3c82b8 Add libgc to mono 21 lat temu
ChangeLog 24edeb948c 2005-10-11 Zoltan Varga <[email protected]> 20 lat temu
EMX_MAKEFILE 3cca3c82b8 Add libgc to mono 21 lat temu
MacOS.c 3cca3c82b8 Add libgc to mono 21 lat temu
MacProjects.sit.hqx 3cca3c82b8 Add libgc to mono 21 lat temu
Makefile.DLLs 3cca3c82b8 Add libgc to mono 21 lat temu
Makefile.am 02e3f8e7bd * Makefile.am (INCLUDES): Add $(top_builddir)/.. to pick up mono's 20 lat temu
Makefile.direct 3cca3c82b8 Add libgc to mono 21 lat temu
Makefile.dj 3cca3c82b8 Add libgc to mono 21 lat temu
NT_MAKEFILE 3cca3c82b8 Add libgc to mono 21 lat temu
NT_STATIC_THREADS_MAKEFILE 3cca3c82b8 Add libgc to mono 21 lat temu
NT_THREADS_MAKEFILE 3cca3c82b8 Add libgc to mono 21 lat temu
OS2_MAKEFILE 3cca3c82b8 Add libgc to mono 21 lat temu
PCR-Makefile 3cca3c82b8 Add libgc to mono 21 lat temu
README.Mono 3cca3c82b8 Add libgc to mono 21 lat temu
README.QUICK 3cca3c82b8 Add libgc to mono 21 lat temu
SMakefile.amiga 3cca3c82b8 Add libgc to mono 21 lat temu
WCC_MAKEFILE 3cca3c82b8 Add libgc to mono 21 lat temu
acinclude.m4 725e3a68d8 * acinclude.m4: Don't include distributed libtool.m4. 21 lat temu
add_gc_prefix.c 3cca3c82b8 Add libgc to mono 21 lat temu
aix_irix_threads.c 3cca3c82b8 Add libgc to mono 21 lat temu
allchblk.c 3cca3c82b8 Add libgc to mono 21 lat temu
alloc.c 9e4431fee8 21 lat temu
alpha_mach_dep.S 7970a582a5 fix up $ type stuff that got left over from cvs2svn. This will not come back again 21 lat temu
autogen.sh 3cca3c82b8 Add libgc to mono 21 lat temu
backgraph.c 3cca3c82b8 Add libgc to mono 21 lat temu
blacklst.c 3cca3c82b8 Add libgc to mono 21 lat temu
callprocs 3cca3c82b8 Add libgc to mono 21 lat temu
checksums.c 3cca3c82b8 Add libgc to mono 21 lat temu
config.guess 7043270f8b 2005-03-29 Zoltan Varga <[email protected]> 21 lat temu
config.sub 7043270f8b 2005-03-29 Zoltan Varga <[email protected]> 21 lat temu
configure.host 62deb93025 * configure.host: Fix syntax error. 20 lat temu
configure.in f392aa93cf 2005-08-24 Zoltan Varga <[email protected]> 20 lat temu
darwin_stop_world.c 3cca3c82b8 Add libgc to mono 21 lat temu
dbg_mlc.c 3cca3c82b8 Add libgc to mono 21 lat temu
depcomp 3cca3c82b8 Add libgc to mono 21 lat temu
digimars.mak 3cca3c82b8 Add libgc to mono 21 lat temu
dyn_load.c 82ae7ea351 2005-04-11 Zoltan Varga <[email protected]> 21 lat temu
finalize.c 3cca3c82b8 Add libgc to mono 21 lat temu
gc.mak 3cca3c82b8 Add libgc to mono 21 lat temu
gc_cpp.cc 3cca3c82b8 Add libgc to mono 21 lat temu
gc_cpp.cpp 3cca3c82b8 Add libgc to mono 21 lat temu
gc_dlopen.c 3cca3c82b8 Add libgc to mono 21 lat temu
gcc_support.c 3cca3c82b8 Add libgc to mono 21 lat temu
gcj_mlc.c 3cca3c82b8 Add libgc to mono 21 lat temu
gcname.c 3cca3c82b8 Add libgc to mono 21 lat temu
headers.c 3cca3c82b8 Add libgc to mono 21 lat temu
hpux_test_and_clear.s 3cca3c82b8 Add libgc to mono 21 lat temu
ia64_save_regs_in_stack.s 3cca3c82b8 Add libgc to mono 21 lat temu
if_mach.c 3cca3c82b8 Add libgc to mono 21 lat temu
if_not_there.c 3cca3c82b8 Add libgc to mono 21 lat temu
install-sh 3cca3c82b8 Add libgc to mono 21 lat temu
irix_threads.c 3cca3c82b8 Add libgc to mono 21 lat temu
libgc.log 3cca3c82b8 Add libgc to mono 21 lat temu
libgc.vcproj 97126986a3 libgc.vcproj: Project file for libgc. 20 lat temu
libtool.m4 3cca3c82b8 Add libgc to mono 21 lat temu
ltconfig 3cca3c82b8 Add libgc to mono 21 lat temu
ltmain.sh 7043270f8b 2005-03-29 Zoltan Varga <[email protected]> 21 lat temu
mach_dep.c 3cca3c82b8 Add libgc to mono 21 lat temu
malloc.c 3cca3c82b8 Add libgc to mono 21 lat temu
mallocx.c 3cca3c82b8 Add libgc to mono 21 lat temu
mark.c 3cca3c82b8 Add libgc to mono 21 lat temu
mark_rts.c 3cca3c82b8 Add libgc to mono 21 lat temu
mips_sgi_mach_dep.s 3cca3c82b8 Add libgc to mono 21 lat temu
mips_ultrix_mach_dep.s 3cca3c82b8 Add libgc to mono 21 lat temu
misc.c 3cca3c82b8 Add libgc to mono 21 lat temu
missing 3cca3c82b8 Add libgc to mono 21 lat temu
mkinstalldirs 7970a582a5 fix up $ type stuff that got left over from cvs2svn. This will not come back again 21 lat temu
new_hblk.c 3cca3c82b8 Add libgc to mono 21 lat temu
obj_map.c 3cca3c82b8 Add libgc to mono 21 lat temu
os_dep.c 2e2d4e792f 20 lat temu
pc_excludes 3cca3c82b8 Add libgc to mono 21 lat temu
pcr_interface.c 3cca3c82b8 Add libgc to mono 21 lat temu
powerpc_darwin_mach_dep.s 3cca3c82b8 Add libgc to mono 21 lat temu
powerpc_macosx_mach_dep.s 3cca3c82b8 Add libgc to mono 21 lat temu
pthread_stop_world.c a8db23f637 2005-07-05 Ben Maurer <[email protected]> 20 lat temu
pthread_support.c 24edeb948c 2005-10-11 Zoltan Varga <[email protected]> 20 lat temu
ptr_chck.c 3cca3c82b8 Add libgc to mono 21 lat temu
real_malloc.c 3cca3c82b8 Add libgc to mono 21 lat temu
reclaim.c 3cca3c82b8 Add libgc to mono 21 lat temu
rs6000_mach_dep.s 3cca3c82b8 Add libgc to mono 21 lat temu
setjmp_t.c 3cca3c82b8 Add libgc to mono 21 lat temu
solaris_pthreads.c f141720b9e 2005-04-06 Zoltan Varga <[email protected]> 21 lat temu
solaris_threads.c f230700ef0 2005-08-24 Zoltan Varga <[email protected]> 20 lat temu
sparc_mach_dep.S 3cca3c82b8 Add libgc to mono 21 lat temu
sparc_netbsd_mach_dep.s 3cca3c82b8 Add libgc to mono 21 lat temu
sparc_sunos4_mach_dep.s 3cca3c82b8 Add libgc to mono 21 lat temu
specific.c 3cca3c82b8 Add libgc to mono 21 lat temu
stubborn.c 3cca3c82b8 Add libgc to mono 21 lat temu
threadlibs.c 3cca3c82b8 Add libgc to mono 21 lat temu
typd_mlc.c 3cca3c82b8 Add libgc to mono 21 lat temu
version.h 3cca3c82b8 Add libgc to mono 21 lat temu
win32_threads.c f392aa93cf 2005-08-24 Zoltan Varga <[email protected]> 20 lat temu

README.Mono

This is a modified version of Boehm GC 6.1 for Mono.

* There are two main changes to the upstream version:

- Makefile changes:

libgc has a lot of configurable options which are AC_DEFINE()d in its
configure.in. To make it easier to build and bundle it with Mono, I
replaced most of the orignal configure.in and the makefiles with custom
versions which just define what we actually need for Mono.

This means that you can just run configure in this directory and it'll
do the right thing. Later on, we'll just include this package in Mono
and use AC_CONFIG_SUBDIRS().

- Threading changes

The original libgc has several *_threads.c files for each possible threading
implementation.

For Mono, we're using a vtable

typedef struct
{
void (* initialize) (void);
void (* lock) (void);
void (* unlock) (void);
void (* stop_world) (void);
void (* push_thread_structures) (void);
void (* push_all_stacks) (void);
void (* start_world) (void);
} GCThreadFunctions;

extern GCThreadFunctions *gc_thread_vtable;

and a mono_threads.c file.

- Deleted files

Some files from the original distribution have been deleted in this version.
These are files which weren't actually linked into the library so they were not
needed. When importing a new upstream version, you can either keep them removed
or just replace them with their new upstream versions.

- include/private/gc_locks.h

This file has been replaced with a custom version.

When importing a new upstream version, keep this custom version, ie. don't import the
new upstream gc_locks.h.

* Importing a new upstream version

This is really simple. Just import the new version to the vendor branch (LIBGC) in CVS
and then merge it into the main trunk.

To get a diff to the original version:

cvs diff -u -r LIBGC

When importing new upstream versions, don't import the new configure.in or any of the
Makefile.am's; they've been replaced by custom versions. Just import all the new source
files and it should be fine.


April 4th, 2003
Martin Baulig