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

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