On 2/17/26 08:01, LIU Hao wrote:
在 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.


Sorry, I meant to question the rest of the series, which adds a number of wrappers. What is wrong with leaving 32-bit time in 64-bit builds unsupported on XP? Why do we need this? What makes it worth increasing binary size for everyone who uses 32-bit time?

I think it's better to import these functions on x86 as well, as we currently do. However, if we really need to support those wrappers, then yes, we can assume they are available on arm64ec and import them directly instead.


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.


For those cases, we have F_LD64 and F_LD80 based on __SIZEOF_LONG_DOUBLE__. It even allows building full x86_64 toolchain with -mlong-double-64.


Jacek



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

Reply via email to