Also,
> I'm already putting the ARM code inside all my binaries.
Wait, I thought CPU architecture was the one limitation that did affect APE - you mean on unix-likes APE binaries are already compatible across amd64 and aarch64?
Edit: rereading https://justine.lol/cosmo3/ it does say that, doesn't it - and ARM64 listing "Windows (non-native)" just means that one platform uses (for the next few hours-days, at least...) emulation. That's amazing:)
Parallels has a Microsoft partnership and has an official AMR64 image which I was able to grab (and run in anything). I’m sure there are a lot more now, though!
If you have an Apple Silicon machine you can run a Windows Insider build via UTM in a VM.
dup/dup2/dup3
creat/open/openat/openat2
cough
My personal prediction is sooner or later we'll see execveat2, to permit setting /proc/PID/comm when using execveat [0].
I doubt we'll ever see clone4, because clone3 is passed a structure argument with the structure size, so new fields can be supported just by increasing the structure size. If other syscalls had done that from the start, much of the 2/3/etc would have been avoided. It is actually a very common practice on Windows (since NT), it has only much more recently been adopted in the Linux kernel
Nope. It turns out, when they made their next-generation piece of equipment, the vendor differentiated it by swapping the inner two letters in an already easy-to-say-wrong acronym.
My reaction was, "WTF didn't they just call it the RCSU2?!"
[0]: https://learn.microsoft.com/windows/win32/api/memoryapi/nf-m...
Examples:
CreateWindowW -> https://learn.microsoft.com/en-us/windows/win32/api/winuser/...
CreateWindowExW -> https://learn.microsoft.com/en-us/windows/win32/api/winuser/...
EDIT: Or maybe what you're looking for is hybrid PEs? https://ffri.github.io/ProjectChameleon/new_reloc_chpev2/
Down the rabbit hole...
> buy a Windows ARM computer
You can still get Surface Pro X (16G/LTE) on Amazon for $800