Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Joel Brobecker <brobecker@adacore.com>
To: Thiago Jung Bauermann <bauerman@br.ibm.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [patch 1/2] Convert hardware watchpoints to use breakpoint_ops
Date: Mon, 15 Nov 2010 22:23:00 -0000	[thread overview]
Message-ID: <20101115222310.GB4434@adacore.com> (raw)
In-Reply-To: <1287534691.2686.17.camel@hactar>

> 2010-10-19  Thiago Jung Bauermann  <bauerman@br.ibm.com>
> 
> 	Convert hardware watchpoints to use breakpoint_ops.
> 
> gdb/
> 	* breakpoint.h (breakpoint_ops) <insert>: Return int instead of void.
> 	Accept pointer to struct bp_location instead of pointer to
> 	struct breakpoint.  Adapt all implementations.
> 	(breakpoint_ops) <remove>: Accept pointer to struct bp_location instead
> 	of pointer to struct breakpoint.  Adapt all implementations.
> 	* breakpoint.c (insert_catchpoint): Delete function.
> 	(insert_bp_location): Call the watchpoint or catchpoint's
> 	breakpoint_ops.insert method.
> 	(remove_breakpoint_1): Call the watchpoint or catchpoint's
> 	breakpoint_ops.remove method.
> 	(insert_watchpoint, remove_watchpoint): New functions.
> 	(watchpoint_breakpoint_ops): New structure.
> 	(watch_command_1): Initialize the OPS field.
> 	* inf-child.c (inf_child_insert_fork_catchpoint)
> 	(inf_child_remove_fork_catchpoint, inf_child_insert_vfork_catchpoint)
> 	(inf_child_remove_vfork_catchpoint, inf_child_insert_exec_catchpoint)
> 	(inf_child_remove_exec_catchpoint, inf_child_set_syscall_catchpoint):
> 	Delete functions.
> 	(inf_child_target): Remove initialization of to_insert_fork_catchpoint,
> 	to_remove_fork_catchpoint, to_insert_vfork_catchpoint,
> 	to_remove_vfork_catchpoint, to_insert_exec_catchpoint,
> 	to_remove_exec_catchpoint and to_set_syscall_catchpoint.
> 	* target.c (update_current_target): Change default implementation of
> 	to_insert_fork_catchpoint, to_remove_fork_catchpoint,
> 	to_insert_vfork_catchpoint, to_remove_vfork_catchpoint,
> 	to_insert_exec_catchpoint, to_remove_exec_catchpoint and
> 	to_set_syscall_catchpoint to return_one.
> 	(debug_to_insert_fork_catchpoint, debug_to_insert_vfork_catchpoint)
> 	(debug_to_insert_exec_catchpoint): Report return value.
> 	* target.h (to_insert_fork_catchpoint, to_insert_vfork_catchpoint)
> 	(to_insert_fork_catchpoint): Change declaration to return int instead
> 	of void.
> 
> gdb/testsuite/
> 	* gdb.base/foll-exec.exp: Adapt to new error string when the catchpoint
> 	type is not supported.
> 	* gdb.base/foll-fork.exp: Likewise.
> 	* gdb.base/foll-vfork.exp: Likewise.

I'm OK with this patch.  Just a possible suggestion below...
Can you wait a couple more days to give anyone one last chance
at making comments on this patch? After that, please go ahead
and commit.

> +	  if (val == 1)
> +	    warning (_("\
> +Inserting catchpoint %d: Your system does not support this type of catchpoint."),
> +		     bpt->owner->number);
> +	  else
> +	    warning (_("Error inserting catchpoint %d."), bpt->owner->number);

Just curious: Why not say "Error inserting catchpoint %d" in both cases
(we would still keep the ": <not supported>" part in the first case)?

> -    void (*to_insert_fork_catchpoint) (int);
> +    int (*to_insert_fork_catchpoint) (int);
>      int (*to_remove_fork_catchpoint) (int);
> -    void (*to_insert_vfork_catchpoint) (int);
> +    int (*to_insert_vfork_catchpoint) (int);
>      int (*to_remove_vfork_catchpoint) (int);
>      int (*to_follow_fork) (struct target_ops *, int);
> -    void (*to_insert_exec_catchpoint) (int);
> +    int (*to_insert_exec_catchpoint) (int);
>      int (*to_remove_exec_catchpoint) (int);
>      int (*to_set_syscall_catchpoint) (int, int, int, int, int *);

I think we really should be documenting at least the return value.
Apparently, at least some of these "method" are documented though
their associated "target_<...>" macro/function.  I'd rather see
that documentation next to the method rather than the macro, but
that's for another discussion.


-- 
Joel


  parent reply	other threads:[~2010-11-15 22:23 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-17 19:41 Thiago Jung Bauermann
2010-10-07 14:47 ` Thiago Jung Bauermann
2010-10-16 17:43 ` Pedro Alves
2010-10-20  0:31   ` Thiago Jung Bauermann
2010-11-04 21:17     ` Thiago Jung Bauermann
2010-11-08 18:43     ` Joel Brobecker
2010-11-08 21:39       ` Thiago Jung Bauermann
2010-11-15 22:23     ` Joel Brobecker [this message]
2010-11-16 19:03       ` Thiago Jung Bauermann
2010-11-18 17:18         ` Joel Brobecker
2010-11-19 20:10           ` Thiago Jung Bauermann
2010-12-23 19:06             ` Thiago Jung Bauermann
2011-01-11 19:31               ` Thiago Jung Bauermann
2011-04-29 15:51                 ` "Cannot remove breakpoints because program is no longer writable" & catchpoints (was: Re: [patch 1/2] Convert hardware watchpoints to use breakpoint_ops) Pedro Alves
2010-11-16  4:06     ` [patch 1/2] Convert hardware watchpoints to use breakpoint_ops Jan Kratochvil
2010-11-16  8:07       ` Joel Brobecker
2010-11-16 18:51         ` Jan Kratochvil
2010-11-17  3:47           ` [patch] Renaming: {insert,remove} += _location [Re: [patch 1/2] Convert hardware watchpoints to use breakpoint_ops] Jan Kratochvil
2010-11-18 17:13             ` Joel Brobecker
     [not found]           ` <20101117034556.GA12159@host0.dyn.jankratochvil.net>
2010-11-18 17:15             ` [patch] renaming: bp_location: b->bl &co. " Joel Brobecker
2010-12-23 18:50             ` Thiago Jung Bauermann
2010-12-24  5:14               ` Joel Brobecker
2010-12-27 20:04                 ` Thiago Jung Bauermann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101115222310.GB4434@adacore.com \
    --to=brobecker@adacore.com \
    --cc=bauerman@br.ibm.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox