gdb/
New option "set auto-load safe-path". * NEWS: New commands "set auto-load safe-path" and "show auto-load safe-path". * auto-load.c: Include gdb_vecs.h, readline/tilde.h and completer.h. (auto_load_safe_path, auto_load_safe_path_vec) (auto_load_safe_path_vec_update, set_auto_load_safe_path) (show_auto_load_safe_path, add_auto_load_safe_path, filename_is_in_dir) (filename_is_in_auto_load_safe_path_vec, file_is_auto_load_safe): New. (source_gdb_script_for_objfile): New variable is_safe. Call file_is_auto_load_safe. Return if it is not. (struct loaded_script): New field loaded. (maybe_add_script): Add parameter loaded. Initialize SLOT with it. (print_script): Use LOADED indicator instead of FULL_PATH. Change output "Missing" to "No". (_initialize_auto_load): New variable cmd. Initialize auto_load_safe_path. Register "set auto-load safe-path", "show auto-load safe-path" and "add-auto-load-safe-path". * auto-load.h (maybe_add_script): Add parameter loaded. (file_is_auto_load_safe): New declaration. * config.in: Regenerate. * configure: Regenerate. * configure.ac: New parameters --with-auto-load-safe-path and --without-auto-load-safe-path. * linux-thread-db.c (try_thread_db_load_from_pdir_1) (try_thread_db_load_from_dir): Check file_is_auto_load_safe first. * main.c (captured_main): Check file_is_auto_load_safe for LOCAL_GDBINIT. * python/py-auto-load.c (gdbpy_load_auto_script_for_objfile): New variable is_safe. Call file_is_auto_load_safe. Return if it is not. (source_section_scripts): Call file_is_auto_load_safe. Return if it is not. gdb/doc/ New option "set auto-load safe-path". * gdb.texinfo (Auto-loading): Extend the "show auto-load" and "info auto-load" examples for safe-path. Put there also references for "set auto-load safe-path" and "show auto-load safe-path". New menu item for Auto-loading safe path. (Auto-loading safe path): New node. (Python Auto-loading): Update the expected output from "Missing" to "No". gdb/testsuite/ New option "set auto-load safe-path". * gdb.python/py-objfile-script.exp (set auto-load safe-path): New. * gdb.python/py-section-script.exp (set auto-load safe-path): New.
This commit is contained in:
parent
bf88dd6849
commit
bccbefd2aa
15 changed files with 465 additions and 16 deletions
|
@ -72,14 +72,19 @@ static void
|
|||
gdbpy_load_auto_script_for_objfile (struct objfile *objfile, FILE *file,
|
||||
const char *filename)
|
||||
{
|
||||
int is_safe;
|
||||
struct auto_load_pspace_info *pspace_info;
|
||||
|
||||
is_safe = file_is_auto_load_safe (filename);
|
||||
|
||||
/* Add this script to the hash table too so "info auto-load python-scripts"
|
||||
can print it. */
|
||||
pspace_info = get_auto_load_pspace_data_for_loading (current_program_space);
|
||||
maybe_add_script (pspace_info, filename, filename, &script_language_python);
|
||||
maybe_add_script (pspace_info, is_safe, filename, filename,
|
||||
&script_language_python);
|
||||
|
||||
source_python_script_for_objfile (objfile, file, filename);
|
||||
if (is_safe)
|
||||
source_python_script_for_objfile (objfile, file, filename);
|
||||
}
|
||||
|
||||
/* Load scripts specified in OBJFILE.
|
||||
|
@ -147,6 +152,9 @@ source_section_scripts (struct objfile *objfile, const char *source_name,
|
|||
{
|
||||
make_cleanup_fclose (stream);
|
||||
make_cleanup (xfree, full_path);
|
||||
|
||||
if (!file_is_auto_load_safe (full_path))
|
||||
opened = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -167,7 +175,7 @@ Use `info auto-load python [REGEXP]' to list them."),
|
|||
|
||||
IWBN if complaints.c were more general-purpose. */
|
||||
|
||||
in_hash_table = maybe_add_script (pspace_info, file, full_path,
|
||||
in_hash_table = maybe_add_script (pspace_info, opened, file, full_path,
|
||||
&script_language_python);
|
||||
|
||||
/* If this file is not currently loaded, load it. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue