projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.9.2.31:
[sbcl.git]
/
src
/
runtime
/
x86-arch.c
diff --git
a/src/runtime/x86-arch.c
b/src/runtime/x86-arch.c
index
fab9d1f
..
a62d204
100644
(file)
--- a/
src/runtime/x86-arch.c
+++ b/
src/runtime/x86-arch.c
@@
-85,7
+85,7
@@
void arch_skip_instruction(os_context_t *context)
vlen = *(char*)(*os_context_pc_addr(context))++;
/* Skip Lisp error arg data bytes. */
while (vlen-- > 0) {
vlen = *(char*)(*os_context_pc_addr(context))++;
/* Skip Lisp error arg data bytes. */
while (vlen-- > 0) {
- ( (char*)(*os_context_pc_addr(context)) )++;
+ ++*os_context_pc_addr(context);
}
break;
}
break;
@@
-193,7
+193,6
@@
sigtrap_handler(int signal, siginfo_t *info, void *void_context)
int code = info->si_code;
os_context_t *context = (os_context_t*)void_context;
unsigned int trap;
int code = info->si_code;
os_context_t *context = (os_context_t*)void_context;
unsigned int trap;
- sigset_t ss;
if (single_stepping && (signal==SIGTRAP))
{
if (single_stepping && (signal==SIGTRAP))
{
@@
-244,10
+243,7
@@
sigtrap_handler(int signal, siginfo_t *info, void *void_context)
case trap_PendingInterrupt:
FSHOW((stderr, "/<trap pending interrupt>\n"));
arch_skip_instruction(context);
case trap_PendingInterrupt:
FSHOW((stderr, "/<trap pending interrupt>\n"));
arch_skip_instruction(context);
- sigemptyset(&ss);
- sigaddset(&ss,SIGTRAP);
- sigprocmask(SIG_UNBLOCK,&ss,0);
- interrupt_handle_pending(context);
+ interrupt_handle_pending(context);
break;
case trap_Halt:
break;
case trap_Halt:
@@
-265,12
+261,12
@@
sigtrap_handler(int signal, siginfo_t *info, void *void_context)
break;
case trap_Breakpoint:
break;
case trap_Breakpoint:
- (char*)(*os_context_pc_addr(context)) -= 1;
+ --*os_context_pc_addr(context);
handle_breakpoint(signal, info, context);
break;
case trap_FunEndBreakpoint:
handle_breakpoint(signal, info, context);
break;
case trap_FunEndBreakpoint:
- (char*)(*os_context_pc_addr(context)) -= 1;
+ --*os_context_pc_addr(context);
*os_context_pc_addr(context) =
(int)handle_fun_end_breakpoint(signal, info, context);
break;
*os_context_pc_addr(context) =
(int)handle_fun_end_breakpoint(signal, info, context);
break;