> On 10. Feb 2026, at 07:39, Pierrick Bouvier <[email protected]> 
> wrote:
> 
> On 2/9/26 8:07 PM, Mohamed Mediouni wrote:
>> 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 <[email protected]>
>> ---
>>  plugins/meson.build | 9 ++++++++-
>>  1 file changed, 8 insertions(+), 1 deletion(-)
>> diff --git a/plugins/meson.build b/plugins/meson.build
>> index 34643e2cea..9899f166ee 100644
>> --- a/plugins/meson.build
>> +++ b/plugins/meson.build
>> @@ -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.
> 
> Interesting, on which setup did you find this?
> 
> Regards,
> Pierrick
Hello,

Was found on my macOS arm64 laptop w/ using llvm-mingw and an MXE fork to build 
all the libs QEMU needed.
Cross-compiled for arm64 Windows initially from there, and came across this 
when targeting x86_64 from that setup.


Reply via email to