在 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_ecIt 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
OpenPGP_signature.asc
Description: OpenPGP digital signature
_______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
