On 10.01.2025 10:05, Martin Storsjö wrote:
On Fri, 10 Jan 2025, Martin Storsjö wrote:

On Thu, 9 Jan 2025, Jacek Caban wrote:


From: Billy Laws <blaw...@gmail.com>

Signed-off-by: Jacek Caban <ja...@codeweavers.com>
---
mingw-w64-headers/include/winnt.h | 3 +++
1 file changed, 3 insertions(+)

This looks ok. However - we have RtlIsEcCode available unconditionally for all architectures in mingw-w64-crt/lib-common/kernel32.def.in (since d367cc9d75f3669961463c631d1ab65434e27517).

Since arm64ec operates in the x86_64 "namespace" when it comes to DLLs, I presume this means that the function, technically, also is available on plain regular x86_64. Does it exist in pure aarch64 kernel32.dll as well? (From looking at the hybrid arm64x kernel32.dll on win11, the function does seem to be listed in the default printout from "llvm-readobj --coff-exports", I guess that's the native aarch64 version of things?)


It's listed, but in the version that I have, it's only inside HybridObject section. It means that it's exported only in ARM64EC namespace. If it was exported in both, it would be additionally listed before that section.



It does seem to be missing from the arm32 version of kernel32.dll though.

Not sure if we strictly need to add ifdefs to the .def.in to make sure it's not included in the import library there - but I think the header ifdef here could be wider, to allow it to be called elsewhere too? Although as WinSDK only exposes the function in arm64ec mode, perhaps it's best to just match that.


It could be `#ifdef __x86_64__`. Thinking some more about it, I can see valid use cases for calling it from code built as x86_64 (not EC) and Wine already does that. I will change it.


Another aspect I noted here; this function is also listed in api-ms-win-core-rtlsupport-l1-2-2.dll according to the MS docs, but we don't have an apiset import library for that one. (I guess that we should do a bigger update of the apisets in order to pick it up there.)


There is also rtlsupportapi.h, which partially duplicates winnt.h. I guess we could just import it from Wine.


Thanks,

Jacek



_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to