From a86caf66bb66054f86ef6bed3c5fa6d68444734b Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Wed, 15 Dec 2010 17:28:00 +0000 Subject: [PATCH] Rename "maint set python auto-load" to "set auto-load-scripts". * NEWS: Mention it. * python/py-auto-load.c (auto_load_scripts): Renamed from gdbpy_auto_load. (load_auto_scripts_for_objfile): Update. (gdbpy_initialize_auto_load): Rename "maint set python auto-load" to "set auto-load-scripts". doc/ * gdb.texinfo (Startup): Document auto-loading of scripts during startup. (Auto-loading): Delete "maint set python auto-load on|off". Add "set auto-load-scripts on|off". --- gdb/ChangeLog | 10 ++++++++++ gdb/NEWS | 3 +++ gdb/doc/ChangeLog | 7 +++++++ gdb/doc/gdb.texinfo | 31 +++++++++++++++++++++++++------ gdb/python/py-auto-load.c | 32 +++++++++++++++++++------------- 5 files changed, 64 insertions(+), 19 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b14a856a93..48a381f772 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,13 @@ +2010-12-15 Doug Evans + + Rename "maint set python auto-load" to "set auto-load-scripts". + * NEWS: Mention it. + * python/py-auto-load.c (auto_load_scripts): Renamed from + gdbpy_auto_load. + (load_auto_scripts_for_objfile): Update. + (gdbpy_initialize_auto_load): Rename "maint set python auto-load" to + "set auto-load-scripts". + 2010-12-14 Kevin Buettner * mips-tdep.c (mips_eabi_push_dummy_call): Place signed, rather diff --git a/gdb/NEWS b/gdb/NEWS index 559609b083..67cd71ef1e 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -8,6 +8,9 @@ -data-directory DIR Specify DIR as the "data-directory". This is mostly for testing purposes. +* The "maint set python auto-load on|off" command has been renamed to + "set auto-load-scripts on|off". + * GDB has a new command: "set directories". It is like the "dir" command except that it replaces the source path list instead of augmenting it. diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index c1d0e1cfdf..df46a17534 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,10 @@ +2010-12-15 Doug Evans + + * gdb.texinfo (Startup): Document auto-loading of scripts during + startup. + (Auto-loading): Delete "maint set python auto-load on|off". + Add "set auto-load-scripts on|off". + 2010-12-07 Doug Evans * gdb.texinfo (Mode Options): Document -data-directory. diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index dc9630ac0c..0e1d553263 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -1262,6 +1262,25 @@ init file, one generic in your home directory, and another, specific to the program you are debugging, in the directory where you invoke @value{GDBN}. +@item +If the command line specified a program to debug, or a process to +attach to, or a core file, @value{GDBN} loads any auto-loaded +scripts provided for the program or for its loaded shared libraries. +@xref{Auto-loading}. + +If you wish to disable the auto-loading during startup, +you must do something like the following: + +@smallexample +$ gdb -ex "set auto-load-scripts off" -ex "file myprogram" +@end smallexample + +The following does not work because the auto-loading is turned off too late: + +@smallexample +$ gdb -ex "set auto-load-scripts off" myprogram +@end smallexample + @item Reads command files specified by the @samp{-x} option. @xref{Command Files}, for more details about @value{GDBN} command files. @@ -23114,13 +23133,13 @@ debugging commands and scripts. Auto-loading can be enabled or disabled. @table @code -@kindex maint set python auto-load -@item maint set python auto-load [yes|no] -Enable or disable the Python auto-loading feature. +@kindex set auto-load-scripts +@item set auto-load-scripts [yes|no] +Enable or disable the auto-loading of Python scripts. -@kindex maint show python auto-load -@item maint show python auto-load -Show whether Python auto-loading is enabled or disabled. +@kindex show auto-load-scripts +@item show auto-load-scripts +Show whether auto-loading of Python scripts is enabled or disabled. @end table When reading an auto-loaded file, @value{GDBN} sets the diff --git a/gdb/python/py-auto-load.c b/gdb/python/py-auto-load.c index 538e06d7bc..ae5dc742b3 100644 --- a/gdb/python/py-auto-load.c +++ b/gdb/python/py-auto-load.c @@ -34,7 +34,7 @@ This is true if we should auto-load python code when an objfile is opened, false otherwise. - Both gdbpy_auto_load && gdbpy_global_auto_load must be true to enable + Both auto_load_scripts && gdbpy_global_auto_load must be true to enable auto-loading. This flag exists to facilitate deferring auto-loading during start-up @@ -82,10 +82,15 @@ struct loaded_script_entry }; /* User-settable option to enable/disable auto-loading: - maint set python auto-load on|off - This is true if we should auto-load python code when an objfile is opened, - false otherwise. */ -static int gdbpy_auto_load = 1; + set auto-load-scripts on|off + This is true if we should auto-load associated scripts when an objfile + is opened, false otherwise. + At the moment, this only affects python scripts, but there's no reason + one couldn't also have other kinds of auto-loaded scripts, and there's + no reason to have them each controlled by a separate flag. + So we elide "python" from the name here and in the option. + The fact that it lives here is just an implementation detail. */ +static int auto_load_scripts = 1; /* Per-program-space data key. */ static const struct program_space_data *auto_load_pspace_data; @@ -404,7 +409,7 @@ auto_load_new_objfile (struct objfile *objfile) void load_auto_scripts_for_objfile (struct objfile *objfile) { - if (gdbpy_auto_load && gdbpy_global_auto_load) + if (auto_load_scripts && gdbpy_global_auto_load) { auto_load_objfile_script (objfile, GDBPY_AUTO_FILE_NAME); auto_load_section_scripts (objfile, GDBPY_AUTO_SECTION_NAME); @@ -471,14 +476,15 @@ gdbpy_initialize_auto_load (void) observer_attach_new_objfile (auto_load_new_objfile); - add_setshow_boolean_cmd ("auto-load", class_maintenance, - &gdbpy_auto_load, _("\ -Enable or disable auto-loading of Python code when an object is opened."), _("\ -Show whether Python code will be auto-loaded when an object is opened."), _("\ -Enables or disables auto-loading of Python code when an object is opened."), + add_setshow_boolean_cmd ("auto-load-scripts", class_support, + &auto_load_scripts, _("\ +Set the debugger's behaviour regarding auto-loaded scripts."), _("\ +Show the debugger's behaviour regarding auto-loaded scripts."), _("\ +If enabled, auto-loaded scripts are loaded when the debugger reads\n\ +an executable or shared library."), NULL, NULL, - &set_python_list, - &show_python_list); + &setlist, + &showlist); add_cmd ("section-scripts", class_maintenance, maintenance_print_section_scripts, _("Print dump of auto-loaded section scripts matching REGEXP."),