Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Gabriel Krisman Bertazi <gabriel@krisman.be>
To: gdb-patches@sourceware.org
Cc: Gabriel Krisman Bertazi <gabriel@krisman.be>
Subject: [RFC PATCH 0/3] Catch syscall group
Date: Wed, 08 Oct 2014 02:51:00 -0000	[thread overview]
Message-ID: <1412736678-2760-1-git-send-email-gabriel@krisman.be> (raw)

Hello,

This multi-part patch implements on top of the 'catch syscall' command
the ability to catch a group of related syscalls using a single
command.

The idea is to be able to catch a group of syscalls with a single
command, just like we can do with the "-e trace" option in strace.  We
separate the syscalls in groups according to their functionality and
allow users to say:

(gdb) catch syscall network

This creates a catchpoint for every network related syscall, such as
bind, accept, connect...

(Please note that adding this feature to GDB was first suggested by Tom
Tromey on PR 15879. :-)
 <https://sourceware.org/bugzilla/show_bug.cgi?id=15879>).

Right now, I've created syscall groups only for x86_64 and sorted the
syscalls among them by using the same groups that strace has.

I am sending this as an RFC because I still have a few questions before
proposing this as a patch:

1) Whether a feature like this would be acceptable on GDB?

2) About the command to catch syscall groups: I think it is more
practical to just say "catch syscall network", instead of "catch syscall
group network" or something like that.  What would be the GDB way to do
that?  (I implemented the former, but I'd be happy to rewrite
this part of the patch.)

3) I think it is nice to have a command to list the syscall groups
available.  Maybe by saying "catch syscall group" with no arguments.
What do you think?

4) What kind of documentation should be updated when proposing the
patch?  Do I have to update only the GDB manual or should I provide
patches for other documentation as well?

5) Regarding the code design I propose here, do you have any concerns
that I should fix right away before submiting this as a patch?  Please
share your thoughts :)

This patch series is divided as follows: Part 1 updates the xml-syscall
interface to support the syscall group feature; Part 2 has the actual
catchpoint code; Finally, Part 3 has the updated x86_64 xml, which
defines the syscall groups for this architecture, and includes tests for
this feature on x86_64.

This presents no regressions on Fedora 20 x86 and x86_64.

Thanks!

Gabriel Krisman Bertazi (3):
  Implemement support for groups of syscalls in the xml-syscall    
    interface.
  Add support to catch groups of syscalls.
  Create syscall groups for x86_64.

 gdb/breakpoint.c                         |  73 +++++--
 gdb/syscalls/amd64-linux.xml             | 362 +++++++++++++++----------------
 gdb/syscalls/gdb-syscalls.dtd            |   1 +
 gdb/testsuite/gdb.base/catch-syscall.exp |  25 +++
 gdb/xml-syscall.c                        | 183 +++++++++++++++-
 gdb/xml-syscall.h                        |  12 +
 6 files changed, 453 insertions(+), 203 deletions(-)

-- 
1.9.3


             reply	other threads:[~2014-10-08  2:51 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-08  2:51 Gabriel Krisman Bertazi [this message]
2014-10-08  2:51 ` [RFC PATCH 1/3] Implemement support for groups of syscalls in the xml-syscall interface Gabriel Krisman Bertazi
2014-10-08 17:21   ` Sergio Durigan Junior
2014-10-08  2:51 ` [RFC PATCH 2/3] Add support to catch groups of syscalls Gabriel Krisman Bertazi
2014-10-08 19:07   ` Sergio Durigan Junior
2014-10-08 19:46     ` Doug Evans
2014-10-08 20:48       ` Sergio Durigan Junior
2014-10-12 21:37         ` Gabriel Krisman Bertazi
2014-10-12 22:52           ` Sergio Durigan Junior
2014-10-13 16:49           ` Doug Evans
2014-10-20  4:52             ` Gabriel Krisman Bertazi
2014-10-20 19:39               ` Sergio Durigan Junior
2014-10-27 19:20                 ` Doug Evans
2014-10-08  2:52 ` [RFC PATCH 3/3] Create syscall groups for x86_64 Gabriel Krisman Bertazi
2014-10-08 19:00   ` Sergio Durigan Junior
2014-10-08 16:10 ` [RFC PATCH 0/3] Catch syscall group Sergio Durigan Junior
2014-10-12 21:12   ` Gabriel Krisman Bertazi
2014-10-12 22:55     ` Sergio Durigan Junior
2014-10-08 16:12 ` Doug Evans

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=1412736678-2760-1-git-send-email-gabriel@krisman.be \
    --to=gabriel@krisman.be \
    --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