This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]