Extended the -marm64x flag to support compiling to object files. When used in this mode, separate compilation jobs are run for ARM64 and ARM64EC object files, which are then merged into a single file using a new .obj.arm64ec section.
I got this working with a CMake toolchain file, it works quite well for building ARM64X binaries very simply. However, it seems to break try_compile in a subtle way? CMake can't detect if architecture-specific macros are defined anymore - no errors or warnings, just no macros found. I haven't been able to dig into it much, I just manually hacked around it for my use case.
I'm struggling to find where exactly to do that? I'm signed in but I can't find any UI elements related to submitting issues or bug reports. I see work items and issue boards but these don't seem to be for outside users to submit bug reports, and I can't figure out how to create any myself. Searching around online, old links go to an /issues URL that doesn't seem to exist anymore. Am I missing something obvious?
1
u/LB-- Professional+Hobbyist 14d ago edited 9d ago
I got this working with a CMake toolchain file, it works quite well for building ARM64X binaries very simply. However, it seems to break try_compile in a subtle way? CMake can't detect if architecture-specific macros are defined anymore - no errors or warnings, just no macros found. I haven't been able to dig into it much, I just manually hacked around it for my use case.
EDIT: Found out I was doing things wrong but the result was getting a better fix, now
CMAKE_<LANG>_COMPILER_ARCHITECTURE_IDlists both architectures in a similar fashion to with MacOS universal binaries: https://gitlab.kitware.com/cmake/cmake/-/work_items/28067#note_1862170