On Mon, Apr 12, 2021 at 9:36 AM Jonas Hahnfeld <hah...@hahnjo.de> wrote: > > Am Montag, dem 12.04.2021 um 09:28 +0200 schrieb Han-Wen Nienhuys: > > Not being able to use 64-bit addressing on Windows with GUILE 1.8 is > > an extremely serious problem. What is the reason for this? Is it > > because dynamic loading doesn't work correctly, and GUILE tries to > > load SRFI modules as .dlls ? > > No, the dynamic loading works on Windows (after all, how would 32 bit > work otherwise?) The issue is that 64 bit on Windows uses a very weird > ABI and long's are 4 bytes whereas pointers are 8 bytes. Guile isn't > prepared to handle this, and the integrated GC fails in wonderful ways > on this issue. If you want to know more, there's quite a bit of > material just one search away.
I did a search, but clearly not the right one :) - do you have some pointers? > Not sure if I mentioned this last year, > but I actually tried to fix in Guile and gave up after a week or so. I > seriously don't think that fixing this ourselves when a solution via > bdwgc is readily available is a good investment of resources. I had a look at GUILE's git history, and unfortunately, the BDGCW change is one that was entangled with lots of other changes in the run-up to 2.0. Sigh. I am quite familiar with the 1.8 garbage collector, so I'm curious where the fundamental problems come from, but given the traction of the fixes I sent to TTN, investigating this for real would only be an option if we went with the 1.8 fork route. -- Han-Wen Nienhuys - hanw...@gmail.com - http://www.xs4all.nl/~hanwen