[m-dev.] Upgrading Boehm GC, attempt #2

Paul Bone paul at bone.id.au
Sun Nov 16 14:53:00 AEDT 2014

On Sun, Nov 16, 2014 at 01:39:18PM +1100, Julien Fischer wrote:
> Hi Paul,
> On Sat, 15 Nov 2014, Paul Bone wrote:
>> I've made another attempt at upgrading Boehm GC.  This time using the
>> submodule method.  This way the history of boehm GC doesn't need to be
>> imported into Mercury (and confuse "git log" and other commands).  The
>> downside is that once you checkout the repository you have to run
>> ./prepare.sh which will pull in the boehm_gc and libatomic_ops repositories.
>> Here's the repository and branch where I've set this up if anyone would like
>> to help me test it.
>> https://github.com/PaulBone/mercury/tree/upgrade_boehm
> I will test it on various platforms this week while your eyes are being
> fixed.


>> I've been able to bootstrap in:
>>    asm_fast.gc, hlc.gc, asm_fast.gc.par.stseg and hlc.gc.par
>> I can install the compiler and build programs in asm_fast.gc and hlc.gc
>> I can build a source distribution, install it and build programs against it
>> in asm_fast.gc and hlc.gc
>> That's all I've tested so far, all on Linux with gcc-4.8
> Which distribution?  (Yes, unfortunately it matters ...)

Debian unstable.

>> If anyone would like to test this on Windows that would be helpful.  In
>> particular I'm not sure how the symlink from boehm_gc/libatomic_ops to
>> libatomic_ops will be handled on a windows file system.
> Ah, that might be a problem -- we will probably just have to copy the
> entire directory into boehm_gc on Windows.

One alternative is setting up libatomic_ops as a submodule of boehm_gc.  I
tried to get this setup upstream however Ivan didn't accept my change.  He
likes to keep the flexability of being able to mix-and-match the versions of
boehm_gc and libatoic_ops.  However, There's nothing stopping us from doing
this in our Mercury fork of the boehm repository.  The downside is is that
it's a little bit more complicated to do and the configuration for
submodules is no-longer centralised.


Paul Bone

More information about the developers mailing list