[Openmcl-devel] M1 port: Call for funding

R. Matthew Emerson rme at acm.org
Tue Jan 2 00:08:51 PST 2024



> On Jan 1, 2024, at 5:50 AM, Tim McNerney <mc at media.mit.edu> wrote:
> 
> Yes! I would enthusiastically attend a “just bump the fasl version number” (i.e. null upgrade) bootstrapping class. 
> 
> Modifying gdb so that it recognizes Lisp objects could help quite a bit (e.g. headers, type bits, etc). When I was at Harlequin, I modified gdb so it better displayed Dylan stack frames (and hid internal ones), and that wasn’t such a heavy lift, even for someone who’d never hacked gdb before. 

The strategy we’ve used to date is to implement a printer for lisp objects in C. See the files like lisp-kernel/x86_print.c (and ppc_print.c, etc.).

Then, you put something like the following in your .gdbinit:

define pl
 call print_lisp_object($arg0)
end

There’s a .gdbinit in lisp-kernel/linuxx8664/.gdbinit that might be interesting to look at.

This approach gets you pretty far, and you don’t have to modify the debugger source code.

Old tips: https://trac.clozure.com/ccl/wiki/CclUnderGdb

Of course, Apple’s provided debugger is now lldb.  It used to be possible to install gdb on an Intel-based Mac, but I don’t know if gdb has been made to work with Apple silicon Macs. (A quick web search makes me think it probably hasn't.)



More information about the Openmcl-devel mailing list