William Harold Newman writes:
> I don't actually know whether CANNOT_GET_TO_SINGLE_STEP_FLAG should be
> true for FreeBSD, as I no longer have a FreeBSD machine. It might be
> that even if it should have been true in the past, changes in FreeBSD
> releases or changes in SBCL interrupt handling have made it
> unnecessary now. If anyone would like to test this for FreeBSD, I'd be
> interested in answers to either of these questions:
> * Does the current code work (i.e., do breakpoints and breakpoint-based
> TRACE work correctly) on FreeBSD?
> * Would the current code work on FreeBSD if the
> #ifdef __FreeBSD__
> #define CANNOT_GET_TO_SINGLE_STEP_FLAG
> definition were removed from bsd-os.h?
> (If the CANNOT_GET_TO_SINGLE_STEP flag stuff is not needed by FreeBSD
> any more, it's needed anywhere anymore, and can be discarded.)
I've compiled sbcl without #define
CANNOT_GET_TO_SINGLE_STEP_FLAG. This does *not* seem to work: when
working through the debugging example at
debugger invoked on *DEBUG-CONDITION* of type SIMPLE-ERROR:
error in function SB-UNIX::SIGTRAP-HANDLER: breakpoint/trap at #X480E9088
0: [ABORT] Return to toplevel.
Within the debugger, you can type HELP for help.
(SB-UNIX::SIGTRAP-HANDLER #<SB-DEBUG::UNPRINTABLE-OBJECT unavailable arg>
#<SB-DEBUG::UNPRINTABLE-OBJECT unavailable arg>