aboutsummaryrefslogtreecommitdiff
path: root/gdb/linux-thread-db.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/linux-thread-db.c')
-rw-r--r--gdb/linux-thread-db.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/gdb/linux-thread-db.c b/gdb/linux-thread-db.c
index ac85ea3..54e68cc 100644
--- a/gdb/linux-thread-db.c
+++ b/gdb/linux-thread-db.c
@@ -110,7 +110,7 @@ public:
gdb::byte_vector thread_info_to_thread_handle (struct thread_info *) override;
};
-static char *libthread_db_search_path;
+static std::string libthread_db_search_path = LIBTHREAD_DB_SEARCH_PATH;
/* Set to true if thread_db auto-loading is enabled
by the "set auto-load libthread-db" command. */
@@ -135,11 +135,8 @@ static void
set_libthread_db_search_path (const char *ignored, int from_tty,
struct cmd_list_element *c)
{
- if (*libthread_db_search_path == '\0')
- {
- xfree (libthread_db_search_path);
- libthread_db_search_path = xstrdup (LIBTHREAD_DB_SEARCH_PATH);
- }
+ if (libthread_db_search_path.empty ())
+ libthread_db_search_path = LIBTHREAD_DB_SEARCH_PATH;
}
/* If non-zero, print details of libthread_db processing. */
@@ -941,7 +938,7 @@ try_thread_db_load_1 (struct thread_db_info *info)
printf_unfiltered (_("[Thread debugging using libthread_db enabled]\n"));
- if (*libthread_db_search_path || libthread_db_debug)
+ if (!libthread_db_search_path.empty () || libthread_db_debug)
{
struct ui_file *file;
const char *library;
@@ -954,7 +951,7 @@ try_thread_db_load_1 (struct thread_db_info *info)
disabled, still print it to gdb_stdout if debug output is
enabled. User visible output should not depend on debug
settings. */
- file = *libthread_db_search_path != '\0' ? gdb_stdout : gdb_stdlog;
+ file = !libthread_db_search_path.empty () ? gdb_stdout : gdb_stdlog;
fprintf_unfiltered (file,
_("Using host libthread_db library \"%ps\".\n"),
styled_string (file_name_style.style (), library));
@@ -1142,7 +1139,7 @@ thread_db_load_search (void)
bool rc = false;
std::vector<gdb::unique_xmalloc_ptr<char>> dir_vec
- = dirnames_to_char_ptr_vec (libthread_db_search_path);
+ = dirnames_to_char_ptr_vec (libthread_db_search_path.c_str ());
for (const gdb::unique_xmalloc_ptr<char> &this_dir_up : dir_vec)
{
@@ -2005,8 +2002,6 @@ _initialize_thread_db ()
and until there is a running inferior, we can't tell which
libthread_db is the correct one to load. */
- libthread_db_search_path = xstrdup (LIBTHREAD_DB_SEARCH_PATH);
-
add_setshow_optional_filename_cmd ("libthread-db-search-path",
class_support,
&libthread_db_search_path, _("\