X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fx86-arch.c;h=96d3bcd72e6f4ebefd46510977e15763ee37b16d;hb=94ac5b7c3ff37850210b6fc9a7593cf1c5752993;hp=8bebc186d591e342e860c9fb8537e431dbb3d636;hpb=d45e8a2e9167150c8283783152d2449bd8d59d2d;p=sbcl.git diff --git a/src/runtime/x86-arch.c b/src/runtime/x86-arch.c index 8bebc18..96d3bcd 100644 --- a/src/runtime/x86-arch.c +++ b/src/runtime/x86-arch.c @@ -23,6 +23,7 @@ #include "interrupt.h" #include "interr.h" #include "breakpoint.h" +#include "monitor.h" #define BREAKPOINT_INST 0xcc /* INT3 */ @@ -84,7 +85,7 @@ void arch_skip_instruction(os_context_t *context) break; case trap_Breakpoint: /* not tested */ - case trap_FunctionEndBreakpoint: /* not tested */ + case trap_FunEndBreakpoint: /* not tested */ break; case trap_PendingInterrupt: @@ -248,10 +249,10 @@ sigtrap_handler(int signal, siginfo_t *info, void *void_context) handle_breakpoint(signal, info, context); break; - case trap_FunctionEndBreakpoint: + case trap_FunEndBreakpoint: (char*)(*os_context_pc_addr(context)) -= 1; *os_context_pc_addr(context) = - (int)handle_function_end_breakpoint(signal, info, context); + (int)handle_fun_end_breakpoint(signal, info, context); break; default: @@ -265,9 +266,8 @@ sigtrap_handler(int signal, siginfo_t *info, void *void_context) static void sigill_handler(int signal, siginfo_t *siginfo, void *void_context) { os_context_t *context = (os_context_t*)void_context; - fprintf(stderr, "\n/entering sigill_handler()\n"); /*REMOVEME*/ fake_foreign_function_call(context); - ldb_monitor(); + monitor_or_something(); } void