mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-10 11:23:15 +00:00
Upgrade to version 7.2alpha4 (slightly modified) of the Boehm collector. The
primary motivation for this is resolve various problems with Mac OS 10.6, such as the parallel grades not building (bug #121). The upgrade should also pave the way for supporting a 64-bit version of Mercury on Mac OS 10.6. (Unfortunately, the reg grades still do not work - bug #120.) Reduce the number of merge conflicts we get when upgrading the collector by (1) removing some local changes to support DLLs that were merged into the official version of the collector sometime ago, and (2) removing our local copy of the Makefile, and creating it from the file Makefile.direct. (We were making local changes to the former, and the GC developers are now only updating the latter - both files were out of sync with each other.) boehm_gc/Makefile: Create Makefile from Makefile.direct and have the submake target depend upon it. (Despite what the GC documentation says about Makefile.direct, if you use the direct method it has to be called Makefile because the object files are set to depend upon it by that name, i.e. using make's -f option won't work.) scripts/prepare_install_dir.in: tools/bootcheck: .README.in: bindist/bindist.README: Conform to the above changes. NOTE: the slight modification referred to above is the following, backported from the current head of the collector. It is required for Mac OS 10.6. --- gc_priv.h 2010-02-24 02:12:59.000000000 +1100 +++ ../../../../../gc_7_2b/ws-upgrade2/boehm_gc/include/private/gc_priv.h 2010-02-24 14:54:42.000000000 +1100 @@ -511,10 +511,7 @@ The structure has changed its definition in different Darwin versions. This now defaults to the (older) names without __, thus hopefully, not breaking any existing Makefile.direct builds. */ -# if defined (HAS_PPC_THREAD_STATE___R0) \ - || defined (HAS_PPC_THREAD_STATE64___R0) \ - || defined (HAS_X86_THREAD_STATE32___EAX) \ - || defined (HAS_X86_THREAD_STATE64___RAX) +# if __DARWIN_UNIX03 # define THREAD_FLD(x) __ ## x # else # define THREAD_FLD(x) x @@ -2119,14 +2116,14 @@ /* Linuxthreads itself uses SIGUSR1 and SIGUSR2. */ # define SIG_SUSPEND SIGPWR # endif -# else /* !GC_LINUX_THREADS */ +# elif !defined(GC_OPENBSD_THREADS) && !defined(GC_DARWIN_THREADS) # if defined(_SIGRTMIN) # define SIG_SUSPEND _SIGRTMIN + 6 # else # define SIG_SUSPEND SIGRTMIN + 6 # endif # endif -# endif /* !SIG_SUSPEND */ +# endif /* !SIG_SUSPEND */ # endif
This commit is contained in:
@@ -16,7 +16,7 @@ Mercury compiler, version <VERSION>, built on a `<FULLARCH>' system.
|
||||
if the need should arise.
|
||||
|
||||
This distribution also contains a slightly modified copy of
|
||||
version 7.0 alpha 6 (CVS 2006-08-14) of the conservative garbage collector
|
||||
version 7.2 alpha 4 of the conservative garbage collector
|
||||
distributed by Hans Boehm:
|
||||
|
||||
Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
|
||||
|
||||
Reference in New Issue
Block a user