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: [PATCH 2/4] Hardware accelerated watchpoint conditions


On Wed, 2010-07-07 at 09:44 -0700, Joel Brobecker wrote:
> > > > 2010-07-06  Sergio Durigan Junior  <sergiodj@linux.vnet.ibm.com>
> > > > 	    Thiago Jung Bauermann  <bauerman@br.ibm.com>
> > > > 
> > > > 	* breakpoint.c (fetch_watchpoint_value): Rename to fetch_subexp_value
> > > > 	and move to eval.c.  Change callers.
> > > > 	(insert_bp_location): Pass watchpoint condition in
> > > > 	target_insert_watchpoint.
> > > > 	(remove_breakpoint_1) Pass watchpoint condition in
> > > > 	target_remove_watchpoint.
> > > > 	(watchpoint_locations_match): Call
> > > > 	target_can_accel_watchpoint_condition.
> > > > 	* eval.c: Include wrapper.h.
> > > > 	(fetch_subexp_value): Moved from breakpoint.c.
> > > > 	* ppc-linux-nat.c (ppc_linux_region_ok_for_hw_watchpoint):
> > > > 	Formatting fix.
> > > > 	(can_use_watchpoint_cond_accel): New function.
> > > > 	(calculate_dvc): Likewise.
> > > > 	(num_memory_accesses): Likewise.
> > > > 	(check_condition): Likewise.
> > > > 	(ppc_linux_can_accel_watchpoint_condition): Likewise
> > > > 	(ppc_linux_insert_watchpoint): Call can_use_watchpoint_cond_accel,
> > > > 	check_condition and calculate_dvc.
> > > > 	(ppc_linux_remove_watchpoint): Likewise.
> > > > 	(_initialize_ppc_linux_nat): Set to_can_accel_watchpoint_condition to
> > > > 	ppc_linux_can_accel_watchpoint_condition
> > > > 	* target.c (debug_to_insert_watchpoint): Add argument for watchpoint
> > > > 	condition.
> > > > 	(debug_to_remove_watchpoint): Likewise.
> > > > 	(debug_to_can_accel_watchpoint_condition): New function.
> > > > 	(update_current_target): Set to_can_accel_watchpoint_condition.
> > > > 	(setup_target_debug): Set to_can_accel_watchpoint_condition.
> > > > 	* target.h: Add opaque declaration for struct expression.
> > > > 	(struct target_ops) <to_insert_watchpoint>,
> > > > 	<to_remove_watchpoint>: Add new arguments to pass the watchpoint
> > > > 	<to_can_accel_watchpoint_condition>: New member.
> > > > 	condition.  Update all callers and implementations.
> > > > 	(target_can_accel_watchpoint_condition): New macro.
> > > > 	* value.c (free_value_chain): New function.
> > > > 	* value.h (fetch_subexp_value): New prototype.
> > > > 	(free_value_chain): Likewise.
> > > 
> > > This is OK.
> > 
> > Committed, thanks!
> 
> I am a little nervous about including this in 7.2 given that it changes
> the interface of target_ops functions.  But at the same time, it's been
> WIP for so long that I feel that everyone who contributed to getting
> this piece of code in deserves to see this code in 7.2. We can work out
> any missing API updates, if any during the branch stabilization phase.

Thanks!

The patch adds an argument to to_insert_watchpoint and
to_remove_watchpoint, and adds a new target function
(to_can_accel_watchpoint_condition) with a default implementation
(return_zero). If this patch doesn't make GDB fail to compile on a
platform (I didn't try to compile it on all platforms which it touches),
then it shouldn't have any impact.
-- 
[]'s
Thiago Jung Bauermann
IBM Linux Technology Center


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