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.
This commit is contained in:
parent
c8551de35c
commit
8a1ea21f7e
11 changed files with 846 additions and 131 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue