gdbsupport: Use LOCALAPPDATA to determine cache dir

Use the LOCALAPPDATA environment variable to determine the cache dir
when running on Windows with native command line, otherwise nasty
warning "Couldn't determine a path for index cached directory" appears.

Change-Id: I77903f9f0cb4743555866b8aea892cef55132589
This commit is contained in:
Alexander Fedotov 2020-12-08 13:07:23 +03:00 committed by Simon Marchi
parent b46551b20c
commit 60a7223fdd
2 changed files with 15 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2020-12-08 Alexander Fedotov <alfedotov@gmail.com>
* pathstuff.cc (get_standard_cache_dir): Use LOCALAPPDATA environment
variable when running on Windows.
2020-12-01 Andrew Burgess <andrew.burgess@embecosm.com>
* tdesc.cc (print_xml_feature::visit): Print enum fields using

View File

@ -238,6 +238,16 @@ get_standard_cache_dir ()
return string_printf ("%s/" HOME_CACHE_DIR "/gdb", abs.get ());
}
#ifdef WIN32
const char *win_home = getenv ("LOCALAPPDATA");
if (win_home != NULL)
{
/* Make sure the path is absolute and tilde-expanded. */
gdb::unique_xmalloc_ptr<char> abs (gdb_abspath (win_home));
return string_printf ("%s/gdb", abs.get ());
}
#endif
return {};
}