Hi Pedro, > > For 7.8, I'm thinking it's really safer to avoid resending > > duplicate Z0 packets to stubs that don't support conditional > > breakpoint evaluation on the target end. So I think we should > > handle the "insert" path too. > > OK - I will take care of that. New patch attached... gdb/ChangeLog: PR breakpoints/17000 * breakpoint.c (non_sss_software_breakpoint_inserted_here_p): New function, extracted from software_breakpoint_inserted_here_p. (software_breakpoint_inserted_here_p): Remove factored out code by call to non_sss_software_breakpoint_inserted_here_p. (insert_single_step_breakpoint): Do nothing if the target does not support target-side breakpoint condition evaluation, a a non-software- single-step breakpoint was already inserted at the same address. (remove_single_step_breakpoints): Adjust to take into account the fact that the first software single-step may not have been inserted. Do not remove the raw breakpoint is a user software breakpoint is still inserted at the same location. Tested on ppc-aix with AdaCore's testsuite. Tested on x86_64-linux with the official testsuite. Also tested on x86_64-linux through Pedro's branch enabling software single-stepping on that platform. Does it look better to you? One thing that we might have to consider is the fact that z0 and Z0 packets are no longer balanced; not sure if it would matter to any stubb in practice. I think we're into grey waters anyway... Thanks! -- Joel