Call breakpoint handler if that's what we hit during stopping on linux
diff --git a/sysdeps/linux-gnu/trace.c b/sysdeps/linux-gnu/trace.c
index 8438aa8..6920f5a 100644
--- a/sysdeps/linux-gnu/trace.c
+++ b/sysdeps/linux-gnu/trace.c
@@ -759,6 +759,16 @@
if (sbp->enabled)
enable_breakpoint(teb, sbp);
+ /* If this was caused by a real breakpoint, as
+ * opposed to a singlestep, assume that it's
+ * an artificial breakpoint installed for some
+ * reason for the re-enablement. In that case
+ * handle it. */
+ target_address_t ip = get_instruction_pointer(task);
+ struct breakpoint *other = address2bpstruct(leader, ip);
+ if (other != NULL)
+ breakpoint_on_hit(other, task);
+
post_singlestep(self, &event);
goto psh_sinking;
}