Re: M1 port: Call for funding
"R. Matthew Emerson" <[email protected]> Tue, 2 Jan 2024 00:08:51 -0800
| Newsgroups | gmane.lisp.openmcl.devel |
|---|---|
| Message-ID | <[email protected]> |
> On Jan 1, 2024, at 5:50 AM, Tim McNerney <[email protected]> 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.)