Replace embedded libgc with Unity fork of recent Boehm (bdwgc) (#16832)
commitcc137237d86b0553e844dc34c9a3cbc5b20782c0
authorJonathan Chambers <joncham@gmail.com>
Fri, 22 Nov 2019 17:03:23 +0000 (22 17:03 +0000)
committerZoltan Varga <vargaz@gmail.com>
Fri, 22 Nov 2019 17:03:23 +0000 (22 18:03 +0100)
tree15916aff0cc2f69939401e7f591cbedd31027f50
parent0fed03ed63ed4ea742c4511d8edc3bc1c6f4044f
Replace embedded libgc with Unity fork of recent Boehm (bdwgc) (#16832)

* Initial commit to migrate libgc to bdwgc.

* Fix submodule url

* Don't force Boehm as runtime wrapper. Was just for testing locally.

* Build bdwgc as single object file. Helps with performance.

* Bump bdwgc submodule.

* Attempt to fix windows MSVC based build.

* Remove any references to GC_INSIDE_DLL as we manually managed threads on Windows.

* Allow building boehm on Windows amd64.

* Allow building boehm with msvc.

* Bump bdwgc to fix line endings

* Use LF for sh, am, m4, and ac files in bdwgc

* Bump bdwgc & libatomic_ops with fix for cygwin

* Bump bdwgc to fix mono-boehm being generated as libtool wrapper script.

* Link the static boehm library.

* Revert "Link the static boehm library."

This reverts commit 1f90d81d08308a61c890743cd79d8f6bb791bc99.

* Use --export-all-symbols on cygwin/mingw to fix issues with boehm causing mono symbols not to be exported.

* Fix
192 files changed:
.gitmodules
autogen.sh
configure.ac
external/bdwgc [new submodule]
libgc/.gitattributes [deleted file]
libgc/.gitignore [deleted file]
libgc/AmigaOS.c [deleted file]
libgc/BCC_MAKEFILE [deleted file]
libgc/EMX_MAKEFILE [deleted file]
libgc/MacOS.c [deleted file]
libgc/MacProjects.sit.hqx [deleted file]
libgc/Mac_files/MacOS_Test_config.h [deleted file]
libgc/Mac_files/MacOS_config.h [deleted file]
libgc/Mac_files/dataend.c [deleted file]
libgc/Mac_files/datastart.c [deleted file]
libgc/Makefile.DLLs [deleted file]
libgc/Makefile.am [deleted file]
libgc/Makefile.direct [deleted file]
libgc/Makefile.dj [deleted file]
libgc/NT_MAKEFILE [deleted file]
libgc/NT_STATIC_THREADS_MAKEFILE [deleted file]
libgc/NT_THREADS_MAKEFILE [deleted file]
libgc/OS2_MAKEFILE [deleted file]
libgc/PCR-Makefile [deleted file]
libgc/README.Mono [deleted file]
libgc/README.QUICK [deleted file]
libgc/SMakefile.amiga [deleted file]
libgc/WCC_MAKEFILE [deleted file]
libgc/acinclude.m4 [deleted file]
libgc/add_gc_prefix.c [deleted file]
libgc/aix_irix_threads.c [deleted file]
libgc/allchblk.c [deleted file]
libgc/alloc.c [deleted file]
libgc/alpha_mach_dep.S [deleted file]
libgc/autogen.sh [deleted file]
libgc/backgraph.c [deleted file]
libgc/blacklst.c [deleted file]
libgc/callprocs [deleted file]
libgc/checksums.c [deleted file]
libgc/configure.ac [deleted file]
libgc/configure.host [deleted file]
libgc/cord/cordbscs.c [deleted file]
libgc/cord/cordprnt.c [deleted file]
libgc/cord/cordtest.c [deleted file]
libgc/cord/cordxtra.c [deleted file]
libgc/cord/de.c [deleted file]
libgc/cord/de_cmds.h [deleted file]
libgc/cord/de_win.ICO [deleted file]
libgc/cord/de_win.RC [deleted file]
libgc/cord/de_win.c [deleted file]
libgc/cord/de_win.h [deleted file]
libgc/darwin_stop_world.c [deleted file]
libgc/dbg_mlc.c [deleted file]
libgc/digimars.mak [deleted file]
libgc/doc/.gitignore [deleted file]
libgc/doc/Makefile.am [deleted file]
libgc/doc/README [deleted file]
libgc/doc/README.DGUX386 [deleted file]
libgc/doc/README.Mac [deleted file]
libgc/doc/README.MacOSX [deleted file]
libgc/doc/README.OS2 [deleted file]
libgc/doc/README.amiga [deleted file]
libgc/doc/README.arm.cross [deleted file]
libgc/doc/README.autoconf [deleted file]
libgc/doc/README.changes [deleted file]
libgc/doc/README.contributors [deleted file]
libgc/doc/README.cords [deleted file]
libgc/doc/README.darwin [deleted file]
libgc/doc/README.dj [deleted file]
libgc/doc/README.environment [deleted file]
libgc/doc/README.ews4800 [deleted file]
libgc/doc/README.hp [deleted file]
libgc/doc/README.linux [deleted file]
libgc/doc/README.macros [deleted file]
libgc/doc/README.rs6000 [deleted file]
libgc/doc/README.sgi [deleted file]
libgc/doc/README.solaris2 [deleted file]
libgc/doc/README.uts [deleted file]
libgc/doc/README.win32 [deleted file]
libgc/doc/barrett_diagram [deleted file]
libgc/doc/debugging.html [deleted file]
libgc/doc/gc.man [deleted file]
libgc/doc/gcdescr.html [deleted file]
libgc/doc/gcinterface.html [deleted file]
libgc/doc/install-sh [deleted file]
libgc/doc/leak.html [deleted file]
libgc/doc/scale.html [deleted file]
libgc/doc/simple_example.html [deleted file]
libgc/doc/tree.html [deleted file]
libgc/dyn_load.c [deleted file]
libgc/finalize.c [deleted file]
libgc/gc.mak [deleted file]
libgc/gc_cpp.cc [deleted file]
libgc/gc_cpp.cpp [deleted file]
libgc/gc_dlopen.c [deleted file]
libgc/gcc_support.c [deleted file]
libgc/gcj_mlc.c [deleted file]
libgc/gcname.c [deleted file]
libgc/headers.c [deleted file]
libgc/hpux_test_and_clear.s [deleted file]
libgc/ia64_save_regs_in_stack.s [deleted file]
libgc/if_mach.c [deleted file]
libgc/if_not_there.c [deleted file]
libgc/include/.gitignore [deleted file]
libgc/include/Makefile.am [deleted file]
libgc/include/cord.h [deleted file]
libgc/include/ec.h [deleted file]
libgc/include/gc.h [deleted file]
libgc/include/gc_alloc.h [deleted file]
libgc/include/gc_amiga_redirects.h [deleted file]
libgc/include/gc_backptr.h [deleted file]
libgc/include/gc_config_macros.h [deleted file]
libgc/include/gc_cpp.h [deleted file]
libgc/include/gc_gcj.h [deleted file]
libgc/include/gc_inl.h [deleted file]
libgc/include/gc_inline.h [deleted file]
libgc/include/gc_local_alloc.h [deleted file]
libgc/include/gc_mark.h [deleted file]
libgc/include/gc_pthread_redirects.h [deleted file]
libgc/include/gc_typed.h [deleted file]
libgc/include/install-sh [deleted file]
libgc/include/javaxfc.h [deleted file]
libgc/include/leak_detector.h [deleted file]
libgc/include/private/.gitignore [deleted file]
libgc/include/private/Makefile.am [deleted file]
libgc/include/private/cord_pos.h [deleted file]
libgc/include/private/darwin_semaphore.h [deleted file]
libgc/include/private/darwin_stop_world.h [deleted file]
libgc/include/private/dbg_mlc.h [deleted file]
libgc/include/private/gc_hdrs.h [deleted file]
libgc/include/private/gc_locks.h [deleted file]
libgc/include/private/gc_pmark.h [deleted file]
libgc/include/private/gc_priv.h [deleted file]
libgc/include/private/gcconfig.h [deleted file]
libgc/include/private/pthread_stop_world.h [deleted file]
libgc/include/private/pthread_support.h [deleted file]
libgc/include/private/solaris_threads.h [deleted file]
libgc/include/private/specific.h [deleted file]
libgc/include/weakpointer.h [deleted file]
libgc/install-sh [deleted file]
libgc/irix_threads.c [deleted file]
libgc/libgc.log [deleted file]
libgc/ltconfig [deleted file]
libgc/m4/.gitignore [deleted file]
libgc/m4/Makefile.am [deleted file]
libgc/m4/lib-ld.m4 [deleted file]
libgc/m4/lib-link.m4 [deleted file]
libgc/m4/lib-prefix.m4 [deleted file]
libgc/mach_dep.c [deleted file]
libgc/malloc.c [deleted file]
libgc/mallocx.c [deleted file]
libgc/mark.c [deleted file]
libgc/mark_rts.c [deleted file]
libgc/mips_sgi_mach_dep.s [deleted file]
libgc/mips_ultrix_mach_dep.s [deleted file]
libgc/misc.c [deleted file]
libgc/mkinstalldirs [deleted file]
libgc/new_hblk.c [deleted file]
libgc/obj_map.c [deleted file]
libgc/os_dep.c [deleted file]
libgc/pc_excludes [deleted file]
libgc/pcr_interface.c [deleted file]
libgc/powerpc_darwin_mach_dep.s [deleted file]
libgc/powerpc_macosx_mach_dep.s [deleted file]
libgc/pthread_stop_world.c [deleted file]
libgc/pthread_support.c [deleted file]
libgc/ptr_chck.c [deleted file]
libgc/real_malloc.c [deleted file]
libgc/reclaim.c [deleted file]
libgc/rs6000_mach_dep.s [deleted file]
libgc/setjmp_t.c [deleted file]
libgc/solaris_pthreads.c [deleted file]
libgc/solaris_threads.c [deleted file]
libgc/sparc_mach_dep.S [deleted file]
libgc/sparc_netbsd_mach_dep.s [deleted file]
libgc/sparc_sunos4_mach_dep.s [deleted file]
libgc/specific.c [deleted file]
libgc/stubborn.c [deleted file]
libgc/threadlibs.c [deleted file]
libgc/typd_mlc.c [deleted file]
libgc/version.h [deleted file]
libgc/win32_threads.c [deleted file]
mono/metadata/boehm-gc.c
mono/mini/Makefile.am.in
mono/utils/gc_wrapper.h
msvc/Makefile.am
msvc/libgc.targets
msvc/libgc.targets.filters
msvc/libgc.vcxproj
msvc/mono.props
msvc/run-msbuild.bat
scripts/ci/run-jenkins.sh