<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto">Thanks for the gdb advice. I agree, a “vanilla” debugger will be easier for all involved.<div><br></div><div>I <i>am</i> “a Mac person” but, at the risk of religious ire, my plan is to port to Linux first. If you disagree for technical reasons, let me know. I own a “maxed out” late 2013 MacBook Pro, I can’t afford to buy an M1 for me and my intern, plus donations would be better spent on labor. <div><br id="lineBreakAtBeginningOfSignature"><div dir="ltr">--Tim</div><div dir="ltr"><br><blockquote type="cite">On Jan 2, 2024, at 03:09, R. Matthew Emerson <rme@acm.org> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><span></span><br><span></span><br><blockquote type="cite"><span>On Jan 1, 2024, at 5:50 AM, Tim McNerney <mc@media.mit.edu> wrote:</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>Yes! I would enthusiastically attend a “just bump the fasl version number” (i.e. null upgrade) bootstrapping class. </span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>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. </span><br></blockquote><span></span><br><span>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.).</span><br><span></span><br><span>Then, you put something like the following in your .gdbinit:</span><br><span></span><br><span>define pl</span><br><span> call print_lisp_object($arg0)</span><br><span>end</span><br><span></span><br><span>There’s a .gdbinit in lisp-kernel/linuxx8664/.gdbinit that might be interesting to look at.</span><br><span></span><br><span>This approach gets you pretty far, and you don’t have to modify the debugger source code.</span><br><span></span><br><span>Old tips: https://trac.clozure.com/ccl/wiki/CclUnderGdb</span><br><span></span><br><span>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.)</span><br><span></span><br><span></span><br></div></blockquote></div></div></body></html>