在 2026-2-17 05:32, Jacek Caban via Mingw-w64-public 写道:
On 2/16/26 22:15, Pali Rohár wrote:
-// F_X86_ANY   - function available on i386 and x86_64
+// F_X86_ANY   - function available on i386, x86_64 and arm64_ec


It is usually spelled arm64ec, without the underscore.


I do not really see the point of the rest of the series, though. Why would we want to support something like that?

Right. Theoretically, ARM64EC should inter-operable with x86-64, so we just 
reuse x64 DEFs for ARM64EC.

The differences between x86-64 and ARM64EC in Microsoft SDK can be examined by cloning my DEF repo https://github.com/lhmouse/winsdk-defs and then running `git diff --color-words --no-index um/x64 um/arm64ec
`.

The DEFs are imperfect though; some functions in ARM64EC are marked `DATA` because they don't have # aliases. Whether it's an issue in Microsoft libs or an issue in LLVM is still unknown.

Strictly speaking, ARM64EC doesn't provide everything in x86-64. Some DLLs are available exclusively to x86-64. And there are symbols such as `odbc32.g_hHeapMalloc` which seem to have been exported by mistake, and are no longer available on ARM64EC. Probably nobody would dllimport `g_hHeapMalloc` so it should be undefined.

And finally, in mingw-w64 world ARM64EC is not 100% compatible with x86-64! There's `long double`! This might be a reason why we may still need to tell ARM64EC from 'true' x86-64 in the future.


--
Best regards,
LIU Hao

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to