public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Andrew Burgess <aburgess@redhat.com>
To: gdb-patches@sourceware.org
Cc: Andrew Burgess <aburgess@redhat.com>
Subject: [PATCH 0/9] Add executable_changed event to Python API
Date: Sat, 16 Sep 2023 11:18:01 +0100	[thread overview]
Message-ID: <cover.1694858967.git.aburgess@redhat.com> (raw)

When I started, I thought this would be trivial; I wanted to expose
the executable_changed observer through the Python API.

Well, it turns out that the executable filename isn't directly visible
from the Python API, so having an event for when it changes doesn't
make a great deal of sense.  So the first 3 patches sort that out.

Then, once I started looking at how the executable_changed observer is
used, it feels like it is currently overloaded a little, and, as a
result, triggers more than it needs to.  The next 3 patches try to
sort this out.

Then patch 7 adds some additional arguments to the executable changed
observer.

Patch 8 is the trivial patch that exposes the observer as an event in
the Python API.

.... And patch 9 fixes a final bug/annoyance which I ran into while
writing the tests for patch 8.

---

Andrew Burgess (9):
  gdb/doc: extend the description for Progspace.filename
  gdb/python: new Progspace.symbol_file attribute
  gdb/python: new Progspace.executable_filename attribute
  gdb: remove one user of the executable changed observer
  gdb: remove final user of the executable_changed observer
  gdb: remove unnecessary notification of executable_changed observer
  gdb: pass more arguments to the executable_changed observer
  gdb/python: make the executable_changed event available from Python
  gdb: use reopen_exec_file from reread_symbols

 gdb/NEWS                                  |  16 ++
 gdb/auxv.c                                |  10 +-
 gdb/doc/python.texi                       |  71 +++++++-
 gdb/exec.c                                |  11 +-
 gdb/observable.h                          |  18 +-
 gdb/python/py-all-events.def              |   1 +
 gdb/python/py-event-types.def             |   5 +
 gdb/python/py-progspace.c                 | 100 ++++++++++-
 gdb/symfile.c                             |  22 +--
 gdb/symtab.c                              |  18 +-
 gdb/testsuite/gdb.python/py-exec-file.c   |  22 +++
 gdb/testsuite/gdb.python/py-exec-file.exp | 195 ++++++++++++++++++++++
 gdb/testsuite/gdb.python/py-progspace.exp |   9 +
 13 files changed, 458 insertions(+), 40 deletions(-)
 create mode 100644 gdb/testsuite/gdb.python/py-exec-file.c
 create mode 100644 gdb/testsuite/gdb.python/py-exec-file.exp


base-commit: 5a6dafd5f1110e8b642fdf65c13d8543e469a09e
-- 
2.25.4


             reply	other threads:[~2023-09-16 10:18 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-16 10:18 Andrew Burgess [this message]
2023-09-16 10:18 ` [PATCH 1/9] gdb/doc: extend the description for Progspace.filename Andrew Burgess
2023-09-16 10:53   ` Eli Zaretskii
2023-09-16 10:18 ` [PATCH 2/9] gdb/python: new Progspace.symbol_file attribute Andrew Burgess
2023-09-16 10:56   ` Eli Zaretskii
2023-09-16 10:18 ` [PATCH 3/9] gdb/python: new Progspace.executable_filename attribute Andrew Burgess
2023-09-16 10:55   ` Eli Zaretskii
2023-09-16 10:18 ` [PATCH 4/9] gdb: remove one user of the executable changed observer Andrew Burgess
2023-09-16 10:18 ` [PATCH 5/9] gdb: remove final user of the executable_changed observer Andrew Burgess
2023-09-16 10:18 ` [PATCH 6/9] gdb: remove unnecessary notification of " Andrew Burgess
2023-09-16 10:18 ` [PATCH 7/9] gdb: pass more arguments to the " Andrew Burgess
2023-09-16 10:18 ` [PATCH 8/9] gdb/python: make the executable_changed event available from Python Andrew Burgess
2023-09-16 11:03   ` Eli Zaretskii
2023-09-28 14:35     ` Andrew Burgess
2023-09-16 10:18 ` [PATCH 9/9] gdb: use reopen_exec_file from reread_symbols Andrew Burgess
2023-09-19 14:08   ` Tom Tromey
2023-09-28 15:23     ` Andrew Burgess
2023-09-28 18:15       ` Tom Tromey
2023-09-29 10:17         ` Andrew Burgess
2023-09-29 15:18           ` Eli Zaretskii
2023-10-02 14:16           ` Tom Tromey
2023-09-29 14:42         ` Eli Zaretskii
2023-10-02 14:02           ` Tom Tromey
2023-10-02 16:19             ` Eli Zaretskii
2023-09-19 14:09 ` [PATCH 0/9] Add executable_changed event to Python API Tom Tromey

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=cover.1694858967.git.aburgess@redhat.com \
    --to=aburgess@redhat.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).