mirror of https://github.com/proxmox/mirror_qemu
util/oslib-posix.c: Implement qemu_init_exec_dir() for Haiku
The qemu_init_exec_dir() function is inherently non-portable; provide an implementation for Haiku hosts. Signed-off-by: David Carlier <devnexen@gmail.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 20200703145614.16684-9-peter.maydell@linaro.org [PMM: Expanded commit message] Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>master
parent
81b7b1e21d
commit
2b9b9e7010
|
@ -60,6 +60,10 @@
|
||||||
#include <mach-o/dyld.h>
|
#include <mach-o/dyld.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __HAIKU__
|
||||||
|
#include <kernel/image.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "qemu/mmap-alloc.h"
|
#include "qemu/mmap-alloc.h"
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_STACK_USAGE
|
#ifdef CONFIG_DEBUG_STACK_USAGE
|
||||||
|
@ -389,6 +393,21 @@ void qemu_init_exec_dir(const char *argv0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#elif defined(__HAIKU__)
|
||||||
|
{
|
||||||
|
image_info ii;
|
||||||
|
int32_t c = 0;
|
||||||
|
|
||||||
|
*buf = '\0';
|
||||||
|
while (get_next_image_info(0, &c, &ii) == B_OK) {
|
||||||
|
if (ii.type == B_APP_IMAGE) {
|
||||||
|
strncpy(buf, ii.name, sizeof(buf));
|
||||||
|
buf[sizeof(buf) - 1] = 0;
|
||||||
|
p = buf;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
/* If we don't have any way of figuring out the actual executable
|
/* If we don't have any way of figuring out the actual executable
|
||||||
location then try argv[0]. */
|
location then try argv[0]. */
|
||||||
|
|
Loading…
Reference in New Issue