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: palves@redhat.com,	sergiodj@redhat.com,	dje@google.com,
	Gabriel Krisman Bertazi <gabriel@krisman.be>
Subject: [PATCH v5 0/5] Catch syscall groups
Date: Sun, 15 May 2016 20:32:00 -0000	[thread overview]
Message-ID: <1463344320-6439-1-git-send-email-gabriel@krisman.be> (raw)

Hi,

Last year, I submitted a proposal to include support to catch groups of
related syscalls in GDB.  My goal was to allow users to just write
"catch syscall group:network" to catch all network related syscalls,
instead of listing every single one of them in the command line.  This
idea came after what is done by the "strace -e trace=" kind of
expressions, and a suggestion made by Tom Tromey in the Sourceware
bugzilla.

Anyway, the patch iterated a little in this list and got positive
feedback and great suggestions from Sergio, Pedro and Doug.  Eventually,
I got very busy with college/work stuff, and had to put this on
hold.. until now.  I'm looking to put more effort on this to get it
upstream anytime soon.

There are just a few differences from the last iteration I submitted.
In summary, I followed Doug's suggestion and made the XML generation
happen only when building in maintainer's mode.  On that mode, we invoke
xsltproc to transform the xml.in files to .xml files that get read by
GDB.  I also plan to keep the generated xmls in the repository, such
that when building outside of maintainers mode, we don't depend on
xltproc.

As usual, the patches don't iclude the generated files.  Therefore, to
test it, you need to use maintainer mode at least once to get the xml
files generated.  When I push the patch set upstream, I'll ammend the
commit to include generated files, such that it doesn't break bisectable
builds.

If anyone is feeling lazy and just want to see things working, I have a
version that includes the generated files at my git:

git clone git://git.krisman.be/binutils-gdb.git -b syscall-group

Thanks,


Gabriel Krisman Bertazi (5):
  Implemement support for groups of syscalls in the xml-syscall    
    interface.
  Add support to catch groups of syscalls.
  Add tests for catching groups of syscalls on supported    
    architectures.
  Include group information to xml syscall files.
  Update documentation on catching a group of related syscalls.

 gdb/NEWS                                           |   5 +
 gdb/break-catch-syscall.c                          | 104 +++++++--
 gdb/configure.ac                                   |  10 +
 gdb/data-directory/Makefile.in                     |   4 +
 gdb/doc/gdb.texinfo                                |  28 ++-
 .../{aarch64-linux.xml => aarch64-linux.xml.in}    |   0
 .../{amd64-linux.xml => amd64-linux.xml.in}        |   0
 gdb/syscalls/apply-defaults.xsl                    |  27 +++
 gdb/syscalls/{arm-linux.xml => arm-linux.xml.in}   |   0
 gdb/syscalls/{bfin-linux.xml => bfin-linux.xml.in} |   0
 gdb/syscalls/gdb-syscalls.dtd                      |   3 +-
 gdb/syscalls/{i386-linux.xml => i386-linux.xml.in} |   0
 gdb/syscalls/linux-defaults.xml.in                 | 243 +++++++++++++++++++++
 .../{mips-n32-linux.xml => mips-n32-linux.xml.in}  |   0
 .../{mips-n64-linux.xml => mips-n64-linux.xml.in}  |   0
 .../{mips-o32-linux.xml => mips-o32-linux.xml.in}  |   0
 gdb/syscalls/{ppc-linux.xml => ppc-linux.xml.in}   |   0
 .../{ppc64-linux.xml => ppc64-linux.xml.in}        |   0
 gdb/syscalls/{s390-linux.xml => s390-linux.xml.in} |   0
 .../{s390x-linux.xml => s390x-linux.xml.in}        |   0
 .../{sparc-linux.xml => sparc-linux.xml.in}        |   0
 .../{sparc64-linux.xml => sparc64-linux.xml.in}    |   0
 gdb/testsuite/gdb.base/catch-syscall.exp           |  39 ++++
 gdb/xml-syscall.c                                  | 232 +++++++++++++++++++-
 gdb/xml-syscall.h                                  |  16 ++
 25 files changed, 693 insertions(+), 18 deletions(-)
 rename gdb/syscalls/{aarch64-linux.xml => aarch64-linux.xml.in} (100%)
 rename gdb/syscalls/{amd64-linux.xml => amd64-linux.xml.in} (100%)
 create mode 100644 gdb/syscalls/apply-defaults.xsl
 rename gdb/syscalls/{arm-linux.xml => arm-linux.xml.in} (100%)
 rename gdb/syscalls/{bfin-linux.xml => bfin-linux.xml.in} (100%)
 rename gdb/syscalls/{i386-linux.xml => i386-linux.xml.in} (100%)
 create mode 100644 gdb/syscalls/linux-defaults.xml.in
 rename gdb/syscalls/{mips-n32-linux.xml => mips-n32-linux.xml.in} (100%)
 rename gdb/syscalls/{mips-n64-linux.xml => mips-n64-linux.xml.in} (100%)
 rename gdb/syscalls/{mips-o32-linux.xml => mips-o32-linux.xml.in} (100%)
 rename gdb/syscalls/{ppc-linux.xml => ppc-linux.xml.in} (100%)
 rename gdb/syscalls/{ppc64-linux.xml => ppc64-linux.xml.in} (100%)
 rename gdb/syscalls/{s390-linux.xml => s390-linux.xml.in} (100%)
 rename gdb/syscalls/{s390x-linux.xml => s390x-linux.xml.in} (100%)
 rename gdb/syscalls/{sparc-linux.xml => sparc-linux.xml.in} (100%)
 rename gdb/syscalls/{sparc64-linux.xml => sparc64-linux.xml.in} (100%)

-- 
2.4.3


             reply	other threads:[~2016-05-15 20:32 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-15 20:32 Gabriel Krisman Bertazi [this message]
2016-05-15 20:32 ` [PATCH v5 4/5] Include group information to xml syscall files Gabriel Krisman Bertazi
2016-05-15 20:32 ` [PATCH v5 1/5] Implemement support for groups of syscalls in the xml-syscall interface Gabriel Krisman Bertazi
2016-05-15 20:32 ` [PATCH v5 2/5] Add support to catch groups of syscalls Gabriel Krisman Bertazi
2016-05-15 20:32 ` [PATCH v5 5/5] Update documentation on catching a group of related syscalls Gabriel Krisman Bertazi
2016-05-16  2:30   ` Eli Zaretskii
2016-05-15 20:32 ` [PATCH v5 3/5] Add tests for catching groups of syscalls on supported architectures Gabriel Krisman Bertazi

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=1463344320-6439-1-git-send-email-gabriel@krisman.be \
    --to=gabriel@krisman.be \
    --cc=dje@google.com \
    --cc=gdb-patches@sourceware.org \
    --cc=palves@redhat.com \
    --cc=sergiodj@redhat.com \
    /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