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