Skip to content

Errors when linking x64 OBJ files into ARM64EC programs #3382

@StephanTLavavej

Description

@StephanTLavavej

When linking x64 OBJ files into ARM64EC programs, users are encountering errors like:

error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_8 (EC Symbol)

Related to #2635 and #2740.

It appears that for this scenario, we need to provide separately compiled functions in the import lib (the ARM64 import lib?) that x64 object files could be expecting. These functions can perform plain vanilla swaps/reverses/etc., they don't need to be fancy initially. I am not exactly sure what their mangled names should look like, or what the entire fix will look like as a whole. We should be sure to actually validate the fix end-to-end manually (we now have the ability to create ARM64 VMs for internal testing).

Originally reported as DevCom-10219146 and Microsoft-internal VSO-1707080 / AB#1707080 .

Metadata

Metadata

Assignees

No one assigned

    Labels

    ARM64Related to the ARM64 architecturebugSomething isn't workingfixedSomething works now, yay!high priorityImportant!

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions