Re: [RFC - Python] New ObjFile event

Tom Tromey
2011-05-19T20:21:46Z

>>>>> "Kevin" == Kevin Pouget <kevin.pouget@gmail.com> writes:

Kevin> + py-value.o \
Kevin> + py-newobjfileevent.o

Alphabetical, please. Applies elsewhere in the Makefile patch too.

Kevin> # found by configure; if GNU Make is not found, we fall back to a
Kevin> diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog
Kevin> index 08d6c8c..3ea5068 100644
Kevin> --- a/gdb/doc/ChangeLog
Kevin> +++ b/gdb/doc/ChangeLog
Kevin> @@ -1,3 +1,9 @@
Kevin> +2011-03-29 Kevin Pouget <kevin.pouget@st.com>
Kevin> + * gdb.textinfo (Events In Python): Document `gdb.NewObjFileEvent'

Missing blank line after the date line, and typo: "texinfo", not
"textinfo".

Kevin> +@item events.newobjfile
Kevin> +Emits @code{gdb.NewObjFileEvent} which indicates that a new object-file has
Kevin> +been loaded in the inferior.

This is not an accurate description -- it may or may not be related to a
change in the inferior.

E.g., if the user did "set auto-solib-add off", then no objfile will be
made when a shared library is loaded.

Or, if the user does "add-symbol-file", then a new objfile will be made
even though nothing has changed in the inferior.

Maybe this isn't the event you actually wanted? I mean -- it is fine to
have this, and I'd like it if you followed through :-), but it may not
do what you are expecting.

Kevin> + /* Will be NULL when clearing the symtab. */
Kevin> + if (objfile)
Kevin> + cleanup = ensure_python_env (get_objfile_arch (objfile), current_language);
Kevin> + else
Kevin> + cleanup = ensure_python_env (get_current_arch (), current_language);

I think it is better to just return early if objfile==NULL.
Or, emit a different event in this case.

Kevin> +2011-03-29 Kevin Pouget <kevin.pouget@st.com>
Kevin> + * testsuite/gdb.python/py-events-shlib.c: New file.

Missing newline.

Kevin> +# Start with a fresh gdb.
Kevin> +
Kevin> +gdb_exit
Kevin> +gdb_start

I think clean_restart is preferred here.
But maybe skip_python_tests has to be inserted in the middle of the
sequence?

Kevin> +gdb_test "run" ".*event type: new_objfile.*
Kevin> +.*new objfile name.*"

This style of test is hard to read. I'd prefer a \n in there.

Tom