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

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