gdb/ * breakpoint.c (create_jit_event_breakpoint): Only set one breakpoint on an address for bp_jit_event. diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 8d0692b..b89118f 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -5906,6 +5907,16 @@ create_jit_event_breakpoint (struct gdbarch *gdbarch, CORE_ADDR address) { struct breakpoint *b; + /* Look for jit event breakpoint first. If there is one set on ADDRESS, + don't create new one and return it directly. */ + + ALL_BREAKPOINTS (b) + { + if (b->type == bp_jit_event && b->loc->requested_address == address) + return b; + } + b = create_internal_breakpoint (gdbarch, address, bp_jit_event); update_global_location_list_nothrow (1); return b;