[RFC 00/14] Port to Guile 3.0

Tom Tromey <[email protected]> Sat, 19 Aug 2023 11:41:59 -0600
Newsgroups gmane.comp.tools.cgen.devel
Message-ID <[email protected]>
I tried re-running cgen this week and was surprised to find it didn't
work with any version of Guile that I had available.  Apparently it
works with the long-since-obsolete Guile 1.8, and nothing newer.

This series is my attempt at a port, with random other cleanups mixed
in.

Note that Guile 2.x also doesn't really seem to work -- it was very
slow and never completed.  I got impatient, so I'm not sure if it
would have eventually, or if there is some bug.

I didn't try Guile 1.8 but I would assume it no longer works after
this series.

The Guile compiler cannot be used due to the loading approach taken in
cgen.  This can be fixed but it is a somewhat larger effort, either
involving real modules or the use of the slib require/provide system.

Another possible change would be removing cos.scm in favor of Guile's
built-in object system.  Patch #10 is basically a hack to work around
a problem with the custom object system.  It can probably be fixed in
a better way, but I didn't bother.

I rebuilt all the cgen code in binutils-gdb with this patch after
Alan's recent regeneration, and verified there are no changes.

Tom