Re: [RFA/7.8] user breakpoint not inserted if software-single-step at same location

Joel Brobecker
2014-06-03T16:23:14Z

> Yep, it's a valid assumption. Only one of those can be the one that
> is actually inserted in the target. All others breakpoints are considered
> duplicates, with bl->duplicate == 1 and bl->inserted == 0, and never reach
> the target. The duplicate location logic in the tail of update_global_location_list
> takes care of it:
>
> /* This and the above ensure the invariant that the first location
> is not duplicated, and is the inserted one.
> All following are marked as duplicated, and are not inserted. */
> if (loc->inserted)
> swap_insertion (loc, *loc_first_p);
> loc->duplicate = 1;
>
> The one that is inserted will hold a merge of all the agent
> expressions (in target_info.conditions and target_info.tcommands) of
> the target-side conditions and commands of all breakpoints at that
> address. Those are computed just before that single breakpoint
> is inserted (build_target_condition_list, build_target_command_list).

Indeed! Thanks for explaining it.

I don't have any other comment on the patch. I ran it through our
testsuite on ppc-aix, JIC, and as expected, found that it fixed
the regression without introducing new ones. I think you can push
that version!

Thanks for your help, Pedro.
--
Joel