mirror of
https://github.com/qemu/qemu.git
synced 2026-04-05 21:46:25 +00:00
plugins: fix cross-build using LLVM for Windows targets
llvm-dlltool assumes that it's by default targeting the host architecture it's running on. That assumption doesn't hold true when cross-compiling. Signed-off-by: Mohamed Mediouni <mohamed@unpredictable.fr> Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Tested-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Link: https://lore.kernel.org/qemu-devel/20260210040722.11375-1-mohamed@unpredictable.fr Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
This commit is contained in:
committed by
Pierrick Bouvier
parent
0b91040d23
commit
b0353beebb
@@ -41,9 +41,16 @@ if host_os == 'windows'
|
||||
# to find missing symbols in current program.
|
||||
win32_qemu_plugin_api_link_flags = ['-Lplugins', '-lqemu_plugin_api']
|
||||
if meson.get_compiler('c').get_id() == 'clang'
|
||||
if host_machine.cpu() == 'x86_64'
|
||||
dlltool_target = 'i386:x86-64'
|
||||
elif host_machine.cpu() == 'aarch64'
|
||||
dlltool_target = 'arm64'
|
||||
else
|
||||
error('Unknown machine')
|
||||
endif
|
||||
# With LLVM/lld, delaylib is specified at link time (-delayload)
|
||||
dlltool = find_program('llvm-dlltool', required: true)
|
||||
dlltool_cmd = [dlltool, '-d', '@INPUT@', '-l', '@OUTPUT@', '-D', 'qemu.exe']
|
||||
dlltool_cmd = [dlltool, '-m', dlltool_target,'-d', '@INPUT@', '-l', '@OUTPUT@', '-D', 'qemu.exe']
|
||||
win32_qemu_plugin_api_link_flags += ['-Wl,-delayload=qemu.exe']
|
||||
else
|
||||
# With gcc/ld, delay lib is built with a specific delay parameter.
|
||||
|
||||
Reference in New Issue
Block a user