#include "gdbcore.h"
#include "gdbthread.h"
#include "inferior.h"
+#include "objfiles.h"
#include "observer.h"
#include "python-internal.h"
#include "arch-utils.h"
do_cleanups (cleanup);
}
+/* Callback used to notify Python listeners about new objfiles loaded in the
+ inferior. */
+
+static void
+python_new_objfile (struct objfile *objfile)
+{
+ struct cleanup *cleanup;
+
+ if (objfile == NULL)
+ return;
+
+ cleanup = ensure_python_env (get_objfile_arch (objfile), current_language);
+
+ if (emit_new_objfile_event (objfile) < 0)
+ gdbpy_print_stack ();
+
+ do_cleanups (cleanup);
+}
+
/* Return a reference to the Python object of type Inferior
representing INFERIOR. If the object has already been created,
return it and increment the reference count, otherwise, create it.
observer_attach_normal_stop (python_on_normal_stop);
observer_attach_target_resumed (python_on_resume);
observer_attach_inferior_exit (python_inferior_exit);
+ observer_attach_new_objfile (python_new_objfile);
membuf_object_type.tp_new = PyType_GenericNew;
if (PyType_Ready (&membuf_object_type) < 0)