summaryrefslogtreecommitdiff
path: root/packages/ltrace/0.7.3/006-unexpected-breakpoint.patch
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2017-05-20 04:58:46 (GMT)
committerAlexey Neyman <stilor@att.net>2017-07-08 17:57:56 (GMT)
commite7deac3aad394325f9e6fc6fda41d34ec94a59e0 (patch)
tree6ad88362f0bfa8385a91eb494009a4646aeb74b6 /packages/ltrace/0.7.3/006-unexpected-breakpoint.patch
parentb9af225f58e45c7fae7eb9d3689fe939243e7578 (diff)
Switch comp.libs/tools and debug to new framework.
Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'packages/ltrace/0.7.3/006-unexpected-breakpoint.patch')
-rw-r--r--packages/ltrace/0.7.3/006-unexpected-breakpoint.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/packages/ltrace/0.7.3/006-unexpected-breakpoint.patch b/packages/ltrace/0.7.3/006-unexpected-breakpoint.patch
new file mode 100644
index 0000000..443bee4
--- /dev/null
+++ b/packages/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. */