blob: 2e72d046ca8f8ab1b8a2b60173ccbf20b57ef932 [file] [log] [blame]
From mboxrd@z Thu Jan 1 00:00:00 1970
From: Joe Slater <joe.slater@windriver.com>
Subject: [PATCH 1/1] os_find_datadir: search as in version 4.2
Date: Mon, 15 Jun 2020 15:58:27 -0700
Message-ID: <20200615225827.183062-1-joe.slater@windriver.com>
Archived-At: <https://lore.kernel.org/qemu-devel/20200615225827.183062-1-joe.slater@windriver.com/>
Always look for ../share/qemu then ../pc-bios when looking for datadir.
Signed-off-by: Joe Slater <joe.slater@windriver.com>
---
See also: https://crbug.com/1114204
os-posix.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/os-posix.c b/os-posix.c
index 3cd52e1e70..f77da94bf6 100644
--- a/os-posix.c
+++ b/os-posix.c
@@ -82,8 +82,9 @@ void os_setup_signal_handling(void)
/*
* Find a likely location for support files using the location of the binary.
+ * Typically, this would be "$bindir/../share/qemu".
* When running from the build tree this will be "$bindir/../pc-bios".
- * Otherwise, this is CONFIG_QEMU_DATADIR.
+ * Otherwise, this is CONFIG_QEMU_DATADIR as constructed by configure.
*/
char *os_find_datadir(void)
{
@@ -93,6 +94,12 @@ char *os_find_datadir(void)
exec_dir = qemu_get_exec_dir();
g_return_val_if_fail(exec_dir != NULL, NULL);
+ dir = g_build_filename(exec_dir, "..", "share", "qemu", NULL);
+ if (g_file_test(dir, G_FILE_TEST_IS_DIR)) {
+ return g_steal_pointer(&dir);
+ }
+ g_free(dir); /* no autofree this time */
+
dir = g_build_filename(exec_dir, "..", "pc-bios", NULL);
if (g_file_test(dir, G_FILE_TEST_IS_DIR)) {
return g_steal_pointer(&dir);
--
2.17.1