diff options
Diffstat (limited to 'patches/ltrace/0.7.3/006-unexpected-breakpoint.patch')
-rw-r--r-- | patches/ltrace/0.7.3/006-unexpected-breakpoint.patch | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/patches/ltrace/0.7.3/006-unexpected-breakpoint.patch b/patches/ltrace/0.7.3/006-unexpected-breakpoint.patch new file mode 100644 index 00000000..443bee42 --- /dev/null +++ b/patches/ltrace/0.7.3/006-unexpected-breakpoint.patch @@ -0,0 +1,22 @@ +From: Juan Cespedes <cespedes@debian.org> +Description: continue after unexpected breakpoint + (instead of decrementing PC and execute int3 again and again) +Last-Update: 2014-01-03 + + +--- ltrace-0.7.3.orig/handle_event.c ++++ ltrace-0.7.3/handle_event.c +@@ -656,9 +656,12 @@ handle_breakpoint(Event *event) + + if ((sbp = address2bpstruct(leader, brk_addr)) != NULL) + breakpoint_on_hit(sbp, event->proc); +- else if (event->proc->state != STATE_IGNORED) ++ else if (event->proc->state != STATE_IGNORED) { + output_line(event->proc, + "unexpected breakpoint at %p", brk_addr); ++ continue_process(event->proc->pid); ++ return; ++ } + + /* breakpoint_on_hit may delete its own breakpoint, so we have + * to look it up again. */ |