qemu: search for datadir as in version 4.2 os_find_datadir() was changed after the 4.2 release. We need to check for ../share/qemu relative to the executable because that is where the runqemu configuration assumes it will be. Upstream-Status: Submitted [qemu-devel@nongnu.org] Signed-off-by: Joe Slater Index: qemu-5.1.0/os-posix.c =================================================================== --- qemu-5.1.0.orig/os-posix.c +++ qemu-5.1.0/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. * * The caller must use g_free() to free the returned data when it is * no longer required. @@ -96,6 +97,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);