diff options
author | Doug Evans <dje@google.com> | 2010-04-23 16:20:13 +0000 |
---|---|---|
committer | Doug Evans <dje@google.com> | 2010-04-23 16:20:13 +0000 |
commit | 8a1ea21f7e299173e51bd45e8981ea107ebf0952 (patch) | |
tree | 1cc7c7fa8492ea30fb26ab0167739df59bb2d743 /gdb/python/python-internal.h | |
parent | c8551de35c952a01283328a3f14dbb5195769815 (diff) | |
download | binutils-8a1ea21f7e299173e51bd45e8981ea107ebf0952.zip binutils-8a1ea21f7e299173e51bd45e8981ea107ebf0952.tar.gz binutils-8a1ea21f7e299173e51bd45e8981ea107ebf0952.tar.bz2 |
Add support for auto-loading scripts from .debug_gdb_scripts section.
* NEWS: Add entry for .debug_gdb_scripts.
* Makefile.in SUBDIR_PYTHON_OBS): Add py-auto-load.o.
(SUBDIR_PYTHON_SRCS): Add py-auto-load.c.
(py-auto-load.o): New rule.
* cli/cli-cmds.c (find_and_open_script): Make externally visible.
* cli/cli-cmds.h (find_and_open_script): Update prototype.
* python/py-auto-load.c: New file.
* python/python-internal.h: #include <stdio.h>.
(set_python_list, show_python_list): Declare.
(gdbpy_initialize_auto_load): Declare.
(source_python_script_for_objfile): Declare.
* python/python.c: Remove #include of observer.h.
(gdbpy_auto_load): Moved to py-auto-load.c.
(GDBPY_AUTO_FILENAME): Ditto.
(gdbpy_new_objfile): Delete.
(source_python_script_for_objfile): New function.
(set_python_list, show_python_list): Make externally visible.
(_initialize_python): Move "auto-load" command to py-auto-load.c
and observer_attach_new_objfile to py-auto-load.c.
doc/
* gdb.texinfo (Python): Move Auto-loading section here ...
(Python API): from here.
(Auto-loading): Add docs for .debug_gdb_scripts auto-loaded scripts.
(Maintenance Commands): Add docs for "maint print section-scripts".
testsuite/
* gdb.python/py-section-script.c: New file.
* gdb.python/py-section-script.exp: New file.
* gdb.python/py-section-script.py: New file.
Diffstat (limited to 'gdb/python/python-internal.h')
-rw-r--r-- | gdb/python/python-internal.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h index e3368e3..d27c5d2 100644 --- a/gdb/python/python-internal.h +++ b/gdb/python/python-internal.h @@ -20,6 +20,8 @@ #ifndef GDB_PYTHON_INTERNAL_H #define GDB_PYTHON_INTERNAL_H +#include <stdio.h> + /* Python 2.4 doesn't include stdint.h soon enough to get {u,}intptr_t needed by pyport.h. */ #include <stdint.h> @@ -75,6 +77,9 @@ extern PyTypeObject value_object_type; extern PyTypeObject block_object_type; extern PyTypeObject symbol_object_type; +extern struct cmd_list_element *set_python_list; +extern struct cmd_list_element *show_python_list; + PyObject *gdbpy_history (PyObject *self, PyObject *args); PyObject *gdbpy_breakpoints (PyObject *, PyObject *); PyObject *gdbpy_frame_stop_reason_string (PyObject *, PyObject *); @@ -107,6 +112,7 @@ struct type *type_object_to_type (PyObject *obj); struct symtab *symtab_object_to_symtab (PyObject *obj); struct symtab_and_line *sal_object_to_symtab_and_line (PyObject *obj); +void gdbpy_initialize_auto_load (void); void gdbpy_initialize_values (void); void gdbpy_initialize_frames (void); void gdbpy_initialize_symtabs (void); @@ -154,6 +160,9 @@ extern const struct language_defn *python_language; void gdbpy_print_stack (void); +void source_python_script_for_objfile (struct objfile *objfile, + FILE *stream, const char *file); + PyObject *python_string_to_unicode (PyObject *obj); char *unicode_to_target_string (PyObject *unicode_str); char *python_string_to_target_string (PyObject *obj); |