diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2012-04-17 15:54:35 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2012-04-17 15:54:35 +0000 |
commit | bccbefd2aab863e24a122ea686cbd263041b4709 (patch) | |
tree | 10470bdc16fff1f1e020d6c8e58913e84ab39575 /gdb/linux-thread-db.c | |
parent | bf88dd68493db2b646b42165e6258573d3a597b5 (diff) | |
download | gdb-bccbefd2aab863e24a122ea686cbd263041b4709.zip gdb-bccbefd2aab863e24a122ea686cbd263041b4709.tar.gz gdb-bccbefd2aab863e24a122ea686cbd263041b4709.tar.bz2 |
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.
Diffstat (limited to 'gdb/linux-thread-db.c')
-rw-r--r-- | gdb/linux-thread-db.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gdb/linux-thread-db.c b/gdb/linux-thread-db.c index 4499b8f..1f6042d 100644 --- a/gdb/linux-thread-db.c +++ b/gdb/linux-thread-db.c @@ -869,7 +869,11 @@ try_thread_db_load_from_pdir_1 (struct objfile *obj) /* This should at minimum hit the first character. */ gdb_assert (cp != NULL); strcpy (cp + 1, LIBTHREAD_DB_SO); - result = try_thread_db_load (path); + + if (!file_is_auto_load_safe (path)) + result = 0; + else + result = try_thread_db_load (path); do_cleanups (cleanup); return result; @@ -935,7 +939,11 @@ try_thread_db_load_from_dir (const char *dir, size_t dir_len) memcpy (path, dir, dir_len); path[dir_len] = '/'; strcpy (path + dir_len + 1, LIBTHREAD_DB_SO); - result = try_thread_db_load (path); + + if (!file_is_auto_load_safe (path)) + result = 0; + else + result = try_thread_db_load (path); do_cleanups (cleanup); return result; |