Hey Guile-

So I'm still plugging away at this Guile on Windows stuff.

In a tree on Github [1], I started from the top and cleaned up
the 64-bit Cygwin and MSYS problems.  Cygwin and MSYS
are two related projects where you compile with GCC,
with the newlib C library, and a link to a library that
provides all of POSIX.  The POSIX emulation is good,
so cleaning up support here is not hard.

>From there I've spent a couple of weeks stuck on the 32-bit
MINGW32 build.  MINGW32 is where you compile using GCC
but with the Microsoft C library MSVCRT.  For
a long time now, Guile kind of worked on 32-bit MinGW,
but without threads and without JIT.  Getting JIT to work
ended up being easy, but the threads part has been tough.

Guile's use of BDW GC is complicated.  It is not the
"just replace malloc with GC_MALLOC" described
in the BDW GC docs.

I'm stuck on a bug where somehow garbage ends up
getting passed to the SMOB mark function by the GC,
and then SMOB mark function calls abort().

Anyway, I'm down in it. Custom debug versions of libgc
and printfs everywhere.  But if garbage getting passed
to the smob mark function is a known issue that someone
has already solved, please let me know.

I haven't pushed anything back to the main Guile git repo 
savannah yet, because I don't want y'all to see me flailing around.

Regards,
Mike

[1] github.com/spk121/guile   'staging' branch

Reply via email to