From: Tom Tromey <tromey@redhat.com>
To: Kevin Pouget <kevin.pouget@gmail.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [RFC - Python] New ObjFile event
Date: Mon, 28 Mar 2011 20:28:00 -0000 [thread overview]
Message-ID: <m362r3q9ih.fsf@fleche.redhat.com> (raw)
In-Reply-To: <AANLkTin=YO__Mz88HPFoT7a6_it5BxthnUdODJMs52eG@mail.gmail.com> (Kevin Pouget's message of "Mon, 28 Mar 2011 04:06:29 -0400")
>>>>> "Kevin" == Kevin Pouget <kevin.pouget@gmail.com> writes:
Kevin> following this discussion at
Kevin> http://sourceware.org/ml/gdb/2011-03/msg00136.html, I would like to
Kevin> suggest a patch for the Python event system. Based on the ''exited",
Kevin> "cont", ... events, this patch allows a python script to register an
Kevin> interest to the loading of new object files in the debuggee. GDB
Kevin> observer "observer_attach_new_objfile" is used to trigger the Python
Kevin> callback.
It seems like a good idea.
Do you have copyright assignment paperwork in place? If not, let me
know and I can get you started. This is a requirement before we can
accept a non-trivial patch.
Kevin> and, likewise, allows Python's "gdb.current_objfile ()" to return
Kevin> the current object file.
I'm ambivalent about this part.
It seems to me that the objfile should be an attribute of the event.
Also setting it globally is ok, if you really want that, but it isn't a
necessity.
Kevin> There is still one thing I'm not happy with in the code, it's how to
Kevin> 'properly' access "gdbpy_current_objfile" ? I commented out "static"
Kevin> and declared it "extern" when I needed it, but that's certainly not
Kevin> the best way:
Dropping the `static' is ok. GDB is already full of this kind of thing.
Kevin> please let me know what you thing about it
Looks pretty good!
Here are some notes on the patch itself. In addition to these, this
patch needs a ChangeLog entry, a documentation update, and a test case.
Kevin> +extern struct objfile *gdbpy_current_objfile;
Should be in python-internal.h.
Kevin> +static void
Kevin> +python_new_objfile (struct objfile *objfile)
New functions need an introductory comment.
Kevin> + /* Will be NULL when clearing the symtab. */
Kevin> + if (objfile)
Kevin> + cleanup = ensure_python_env (get_objfile_arch (objfile), current_language);
Is this comment stale? It doesn't seem relevant. When can objfile==NULL?
Kevin> -
Kevin> + observer_attach_new_objfile (python_new_objfile);
Kevin> +
Gratuitous whitespace change.
Kevin> int
Kevin> emit_new_objfile_event (struct objfile *objfile)
Kevin> {
Kevin> PyObject *event;
[...]
Kevin> event = create_new_objfile_event_object ();
Kevin> if (event)
Kevin> return evpy_emit_event (event, gdb_py_events.newobjfile);
Kevin> return -1;
I think this should attach the objfile to the event object.
Tom
next prev parent reply other threads:[~2011-03-28 20:24 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <AANLkTimybJtpUzy13FuLxQQMJfeWQuf3-cgqGmu23Bq5@mail.gmail.com>
2011-03-28 8:49 ` Kevin Pouget
2011-03-28 8:51 ` Kevin Pouget
2011-03-28 9:00 ` Phil Muldoon
2011-03-28 8:54 ` Phil Muldoon
2011-03-28 9:03 ` Phil Muldoon
2011-03-28 10:02 ` Kevin Pouget
2011-03-28 20:28 ` Tom Tromey [this message]
2011-03-29 11:11 ` Kevin Pouget
2011-03-30 11:32 ` Kevin Pouget
2011-03-30 12:14 ` Phil Muldoon
2011-03-30 12:15 ` Kevin Pouget
2011-05-19 20:21 ` Tom Tromey
2011-05-23 8:44 ` Kevin Pouget
2011-09-01 9:56 ` Kevin Pouget
2011-09-01 11:01 ` Eli Zaretskii
2011-09-01 11:09 ` Kevin Pouget
2011-10-03 16:32 ` Tom Tromey
[not found] ` <CAPftXULEe9R4m7tF=vtJe6NTXHSFAkXgsHCPb3r0mU4wKx0FFg@mail.gmail.com>
2011-10-04 8:25 ` Kevin Pouget
2011-10-04 17:02 ` Tom Tromey
2011-10-05 11:10 ` Kevin Pouget
2011-10-05 14:16 ` Tom Tromey
2011-10-05 17:40 ` Eli Zaretskii
2011-10-07 7:40 ` Kevin Pouget
2011-10-07 7:54 ` Kevin Pouget
2011-10-07 8:37 Andreas Tobler
2011-10-07 8:44 ` Kevin Pouget
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=m362r3q9ih.fsf@fleche.redhat.com \
--to=tromey@redhat.com \
--cc=gdb-patches@sourceware.org \
--cc=kevin.pouget@gmail.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