Has someone (partially) worked on ARM64EC builds for Windows?

Olivier Mascia om at integral.be
Tue Feb 7 19:56:04 UTC 2023


Hello,

I will have to work on adjusting the quite significant build mechanism in order to produce OpenSSL 3.0.x binaries in the ARM64EC mode.  Fundamentally it is an ARM64 build, with '/arm64EC' on the 'cl' commands, and with '/MACHINE:ARM64EC' on the 'link' commands.

As to not reinvent the wheel, would anyone have already started, or done, that before?

Fundamentally the ARM64EC stuff is ARM64 code production, albeit with an adjusted ABI which allows an ARM64EC executable, essentially made of ARM64 code, to load and use, including be statically linked with, portions of code compiled for x64 (AMD64).  The x64 bits are runtime translated.  It is very useful to easily get large software booted on ARM64, even though some dependents bits have to remain Intel/AMD x64 for some time (third party libraries).  The limitation is that pure ARM64 bits cannot be linked with ARM64EC bits, because they do not share the exact same ABI.

Today, I use WIN64A builds of OpenSSL 3.0.7 without any issue into larger works built as ARM64EC.  To get some more performance from OpenSSL, I'd like to experiment with it built as ARM64EC.

If anyone has past experience with building OpenSSL 3.0 as ARM64EC on Windows world and wishes to share ideas, gotchas, or hints, I'm all ears.  In between I will start some experiment, while diving into OpenSSL build procedure.

Thanks!
-- 
Olivier Mascia




More information about the openssl-users mailing list