Skip to content

Commit bf88dd6

Browse files
committed
gdb/
auto-load: Implementation. * NEWS: New descriptions for "info auto-load", "info auto-load gdb-scripts", "info auto-load python-scripts", "info auto-load local-gdbinit" and "info auto-load libthread-db". Deprecate "info auto-load-scripts", "set auto-load-scripts on|off" and "show auto-load-scripts". New description for "set auto-load", "show auto-load", "set auto-load gdb-scripts", "show auto-load gdb-scripts", "set auto-load python-scripts", "show auto-load python-scripts", "set auto-load local-gdbinit", "show auto-load local-gdbinit", "set auto-load libthread-db" and "show auto-load libthread-db". * auto-load.c: Remove include python/python-internal.h. Add includes exceptions.h, cli/cli-script.h, gdbcmd.h, cli/cli-decode.h and cli/cli-setshow.h. (GDB_AUTO_FILE_NAME, source_gdb_script_for_objfile) (auto_load_gdb_scripts, show_auto_load_gdb_scripts): New. (gdbpy_global_auto_load): Rename to ... (global_auto_load): ... here. (auto_load_local_gdbinit, auto_load_local_gdbinit_pathname) (auto_load_local_gdbinit_loaded, show_auto_load_local_gdbinit) (script_language_gdb, source_gdb_script_for_objfile): New. (struct loaded_script): New field language. (hash_loaded_script_entry, eq_loaded_script_entry): Calculate also LANGUAGE. (maybe_add_script): Add parameter language. Drop redundant entry.full_path initialization. Initialize entry.language and (*slot)->language. (auto_load_objfile_script): Change parameter suffix to language. Remove the call of maybe_add_script. Call language->source_script_for_objfile. (load_auto_scripts_for_objfile, struct collect_matching_scripts_data): New. (collect_matching_scripts): Adjust it for struct collect_matching_scripts_data. (auto_load_info_scripts_pattern_nl): New variable. (info_auto_load_scripts): Rename to ... (auto_load_info_scripts): ... here, add parameter language. Adjust it for struct collect_matching_scripts_data. (info_auto_load_gdb_scripts, info_auto_load_local_gdbinit) (set_auto_load_cmd, auto_load_set_cmdlist_get, show_auto_load_cmd) (auto_load_show_cmdlist_get, info_auto_load_cmd) (auto_load_info_cmdlist_get): New. (_initialize_auto_load): Move add_info of "auto-load-scripts" to python/py-auto-load.c. New installment for "set auto-load gdb-scripts", "info auto-load gdb-scripts", "set auto-load local-gdbinit" and "info auto-load local-gdbinit". * auto-load.h (struct script_language): New. (gdbpy_global_auto_load): Rename to ... (global_auto_load): ... here. (auto_load_local_gdbinit, auto_load_local_gdbinit_pathname) (auto_load_local_gdbinit_loaded): New declarations. (maybe_add_script): New parameter language. (auto_load_objfile_script): Change parameter suffix to language. (load_auto_scripts_for_objfile, auto_load_info_scripts_pattern_nl) (auto_load_info_scripts, auto_load_set_cmdlist_get) (auto_load_show_cmdlist_get, auto_load_info_cmdlist_get): New declarations. * linux-thread-db.c: Include auto-load.h and ctype.h. (auto_load_thread_db, show_auto_load_thread_db): New. (struct thread_db_info): New field filename. (delete_thread_db_info): Call xfree for FILENAME. (try_thread_db_load): Initialize FILENAME. (try_thread_db_load_from_pdir, try_thread_db_load_from_dir): Return if !AUTO_LOAD_THREAD_DB. (info_auto_load_libthread_db_compare, info_auto_load_libthread_db): New. (_initialize_thread_db): Install auto_load_thread_db as "set auto-load libthread-db" and install info_auto_load_libthread_db as "info auto-load libthread-db". * main.c (captured_main): Rename gdbpy_global_auto_load to global_auto_load. Initialize AUTO_LOAD_LOCAL_GDBINIT_PATHNAME and AUTO_LOAD_LOCAL_GDBINIT_LOADED. (print_gdb_help): Extend the help for 'local init file'. * python/py-auto-load.c: Remove a comment about gdb scripts extension. (GDBPY_AUTO_SECTION_NAME): Extend the comment it is Python specific. (auto_load_scripts): Rename to ... (auto_load_python_scripts): ... here, update the comment. (gdbpy_load_auto_script_for_objfile): New declaration. (show_auto_load_python_scripts, script_language_python) (gdbpy_load_auto_script_for_objfile): New. (source_section_scripts): Refactor the code. (load_auto_scripts_for_objfile): Rename to ... (gdbpy_load_auto_scripts_for_objfile): ... here, update the auto_load_objfile_script caller, drop GDBPY_GLOBAL_AUTO_LOAD checking. (info_auto_load_python_scripts): New. (gdbpy_initialize_auto_load): New variables cmd and cmd_name. Rename "set auto-load-scripts" to "set auto-load python-scripts". Register "set auto-load-scripts" as its deprecated alias. Register "info auto-load python-scripts". Register "info auto-load-scripts" as its deprecated alias. (load_auto_scripts_for_objfile): Rename to ... (gdbpy_load_auto_scripts_for_objfile): ... here. * python/python.h (load_auto_scripts_for_objfile): Rename to ... (gdbpy_load_auto_scripts_for_objfile): ... here. gdb/doc/ auto-load: Implementation. * gdb.texinfo (Mode Options): New anchor for -nx. (Startup): New anchors for Option -init-eval-command, Home Directory Init File and Init File in the Current Directory during Startup. Mention set auto-load local-gdbinit with a reference. Change the sample code to "set auto-load python-scripts". (Threads): New anchor set libthread-db-search-path. Provide references to libthread_db.so.1 file. (Controlling GDB): New menu item for Auto-loading. (Auto-loading, Init File in the Current Directory) (libthread_db.so.1 file, objfile-gdb.gdb file): New nodes. (Python): Rename the menu item Auto-loading to Python Auto-loading. (Writing a Pretty-Printer, Objfiles In Python): Update the renamed reference. (Auto-loading): Rename to ... (Python Auto-loading): ... here. Change "set auto-load-scripts" to "set auto-load python-scripts", new anchor for it. Change "show auto-load-scripts" to "show auto-load python-scripts", new anchor for it. Change "info auto-load-scripts" to "info auto-load python-scripts", new anchor for it. Change "scripts" to "Python scripts". gdb/testsuite/ auto-load: Implementation. * gdb.base/help.exp (test set height): Increase the height. * gdb.python/py-objfile-script.exp (info auto-load-scripts): Change to ... (info auto-load python-scripts): ... here. * gdb.python/py-section-script.exp (info auto-load-scripts *): Change to ... (info auto-load python-scripts *): ... here.
1 parent e2207b9 commit bf88dd6

14 files changed

Lines changed: 1096 additions & 115 deletions

File tree

‎gdb/ChangeLog‎

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,99 @@
1+
2012-04-17 Jan Kratochvil <jan.kratochvil@redhat.com>
2+
3+
auto-load: Implementation.
4+
* NEWS: New descriptions for "info auto-load",
5+
"info auto-load gdb-scripts", "info auto-load python-scripts",
6+
"info auto-load local-gdbinit" and "info auto-load libthread-db".
7+
Deprecate "info auto-load-scripts", "set auto-load-scripts on|off"
8+
and "show auto-load-scripts". New description for "set auto-load",
9+
"show auto-load", "set auto-load gdb-scripts",
10+
"show auto-load gdb-scripts", "set auto-load python-scripts",
11+
"show auto-load python-scripts", "set auto-load local-gdbinit",
12+
"show auto-load local-gdbinit", "set auto-load libthread-db" and
13+
"show auto-load libthread-db".
14+
* auto-load.c: Remove include python/python-internal.h. Add includes
15+
exceptions.h, cli/cli-script.h, gdbcmd.h, cli/cli-decode.h and
16+
cli/cli-setshow.h.
17+
(GDB_AUTO_FILE_NAME, source_gdb_script_for_objfile)
18+
(auto_load_gdb_scripts, show_auto_load_gdb_scripts): New.
19+
(gdbpy_global_auto_load): Rename to ...
20+
(global_auto_load): ... here.
21+
(auto_load_local_gdbinit, auto_load_local_gdbinit_pathname)
22+
(auto_load_local_gdbinit_loaded, show_auto_load_local_gdbinit)
23+
(script_language_gdb, source_gdb_script_for_objfile): New.
24+
(struct loaded_script): New field language.
25+
(hash_loaded_script_entry, eq_loaded_script_entry): Calculate also
26+
LANGUAGE.
27+
(maybe_add_script): Add parameter language. Drop redundant
28+
entry.full_path initialization. Initialize entry.language and
29+
(*slot)->language.
30+
(auto_load_objfile_script): Change parameter suffix to language.
31+
Remove the call of maybe_add_script.
32+
Call language->source_script_for_objfile.
33+
(load_auto_scripts_for_objfile, struct collect_matching_scripts_data):
34+
New.
35+
(collect_matching_scripts): Adjust it for
36+
struct collect_matching_scripts_data.
37+
(auto_load_info_scripts_pattern_nl): New variable.
38+
(info_auto_load_scripts): Rename to ...
39+
(auto_load_info_scripts): ... here, add parameter language. Adjust it
40+
for struct collect_matching_scripts_data.
41+
(info_auto_load_gdb_scripts, info_auto_load_local_gdbinit)
42+
(set_auto_load_cmd, auto_load_set_cmdlist_get, show_auto_load_cmd)
43+
(auto_load_show_cmdlist_get, info_auto_load_cmd)
44+
(auto_load_info_cmdlist_get): New.
45+
(_initialize_auto_load): Move add_info of "auto-load-scripts" to
46+
python/py-auto-load.c. New installment for "set auto-load gdb-scripts",
47+
"info auto-load gdb-scripts", "set auto-load local-gdbinit" and
48+
"info auto-load local-gdbinit".
49+
* auto-load.h (struct script_language): New.
50+
(gdbpy_global_auto_load): Rename to ...
51+
(global_auto_load): ... here.
52+
(auto_load_local_gdbinit, auto_load_local_gdbinit_pathname)
53+
(auto_load_local_gdbinit_loaded): New declarations.
54+
(maybe_add_script): New parameter language.
55+
(auto_load_objfile_script): Change parameter suffix to language.
56+
(load_auto_scripts_for_objfile, auto_load_info_scripts_pattern_nl)
57+
(auto_load_info_scripts, auto_load_set_cmdlist_get)
58+
(auto_load_show_cmdlist_get, auto_load_info_cmdlist_get): New
59+
declarations.
60+
* linux-thread-db.c: Include auto-load.h and ctype.h.
61+
(auto_load_thread_db, show_auto_load_thread_db): New.
62+
(struct thread_db_info): New field filename.
63+
(delete_thread_db_info): Call xfree for FILENAME.
64+
(try_thread_db_load): Initialize FILENAME.
65+
(try_thread_db_load_from_pdir, try_thread_db_load_from_dir): Return
66+
if !AUTO_LOAD_THREAD_DB.
67+
(info_auto_load_libthread_db_compare, info_auto_load_libthread_db): New.
68+
(_initialize_thread_db): Install auto_load_thread_db
69+
as "set auto-load libthread-db" and install info_auto_load_libthread_db
70+
as "info auto-load libthread-db".
71+
* main.c (captured_main): Rename gdbpy_global_auto_load to
72+
global_auto_load. Initialize AUTO_LOAD_LOCAL_GDBINIT_PATHNAME and
73+
AUTO_LOAD_LOCAL_GDBINIT_LOADED.
74+
(print_gdb_help): Extend the help for 'local init file'.
75+
* python/py-auto-load.c: Remove a comment about gdb scripts extension.
76+
(GDBPY_AUTO_SECTION_NAME): Extend the comment it is Python specific.
77+
(auto_load_scripts): Rename to ...
78+
(auto_load_python_scripts): ... here, update the comment.
79+
(gdbpy_load_auto_script_for_objfile): New declaration.
80+
(show_auto_load_python_scripts, script_language_python)
81+
(gdbpy_load_auto_script_for_objfile): New.
82+
(source_section_scripts): Refactor the code.
83+
(load_auto_scripts_for_objfile): Rename to ...
84+
(gdbpy_load_auto_scripts_for_objfile): ... here, update the
85+
auto_load_objfile_script caller, drop GDBPY_GLOBAL_AUTO_LOAD checking.
86+
(info_auto_load_python_scripts): New.
87+
(gdbpy_initialize_auto_load): New variables cmd and cmd_name.
88+
Rename "set auto-load-scripts" to "set auto-load python-scripts".
89+
Register "set auto-load-scripts" as its deprecated alias. Register
90+
"info auto-load python-scripts". Register "info auto-load-scripts" as
91+
its deprecated alias.
92+
(load_auto_scripts_for_objfile): Rename to ...
93+
(gdbpy_load_auto_scripts_for_objfile): ... here.
94+
* python/python.h (load_auto_scripts_for_objfile): Rename to ...
95+
(gdbpy_load_auto_scripts_for_objfile): ... here.
96+
197
2012-04-17 Jan Kratochvil <jan.kratochvil@redhat.com>
298

399
auto-load: Move files.

‎gdb/NEWS‎

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,19 @@
9898
expressions. These commands are available only if GDB is
9999
configured with '--with-python'.
100100

101+
** "info auto-load" shows status of all kinds of auto-loaded files,
102+
"info auto-load gdb-scripts" shows status of auto-loading GDB canned
103+
sequences of commands files, "info auto-load python-scripts"
104+
shows status of auto-loading Python script files,
105+
"info auto-load local-gdbinit" shows status of loading init file
106+
(.gdbinit) from current directory and "info auto-load libthread-db" shows
107+
status of inferior specific thread debugging shared library loading.
108+
109+
** "info auto-load-scripts", "set auto-load-scripts on|off"
110+
and "show auto-load-scripts" commands have been deprecated, use their
111+
"info auto-load python-scripts", "set auto-load python-scripts on|off"
112+
and "show auto-load python-scripts" counterparts instead.
113+
101114
* New targets
102115

103116
Renesas RL78 rl78-*-elf
@@ -119,6 +132,28 @@ show breakpoint condition-evaluation
119132
This option can improve debugger efficiency depending on the speed of the
120133
target.
121134

135+
set auto-load off
136+
Disable auto-loading globally.
137+
138+
show auto-load
139+
Show auto-loading setting of all kinds of auto-loaded files.
140+
141+
set auto-load gdb-scripts on|off
142+
show auto-load gdb-scripts
143+
Control auto-loading of GDB canned sequences of commands files.
144+
145+
set auto-load python-scripts on|off
146+
show auto-load python-scripts
147+
Control auto-loading of Python script files.
148+
149+
set auto-load local-gdbinit on|off
150+
show auto-load local-gdbinit
151+
Control loading of init file (.gdbinit) from current directory.
152+
153+
set auto-load libthread-db on|off
154+
show auto-load libthread-db
155+
Control auto-loading of inferior specific thread debugging shared library.
156+
122157
* New remote packets
123158

124159
z0/z1 conditional breakpoints extension

0 commit comments

Comments
 (0)