diff options
Diffstat (limited to 'gdb/main.c')
-rw-r--r-- | gdb/main.c | 17 |
1 files changed, 6 insertions, 11 deletions
@@ -65,7 +65,7 @@ char *interpreter_p; int dbx_commands = 0; /* System root path, used to find libraries etc. */ -char *gdb_sysroot = 0; +std::string gdb_sysroot; /* GDB datadir, used to store data files. */ std::string gdb_datadir; @@ -710,19 +710,14 @@ captured_main_1 (struct captured_main_args *context) perror_warning_with_name (_("error finding working directory")); /* Set the sysroot path. */ - gdb_sysroot - = xstrdup (relocate_gdb_directory (TARGET_SYSTEM_ROOT, - TARGET_SYSTEM_ROOT_RELOCATABLE).c_str ()); + gdb_sysroot = relocate_gdb_directory (TARGET_SYSTEM_ROOT, + TARGET_SYSTEM_ROOT_RELOCATABLE); - if (*gdb_sysroot == '\0') - { - xfree (gdb_sysroot); - gdb_sysroot = xstrdup (TARGET_SYSROOT_PREFIX); - } + if (gdb_sysroot.empty ()) + gdb_sysroot = TARGET_SYSROOT_PREFIX; debug_file_directory - = xstrdup (relocate_gdb_directory (DEBUGDIR, - DEBUGDIR_RELOCATABLE).c_str ()); + = relocate_gdb_directory (DEBUGDIR, DEBUGDIR_RELOCATABLE); gdb_datadir = relocate_gdb_directory (GDB_DATADIR, GDB_DATADIR_RELOCATABLE); |