Skip to content

Add ARM64X import library support#24

Merged
messense merged 1 commit intomainfrom
arm64x
Apr 22, 2026
Merged

Add ARM64X import library support#24
messense merged 1 commit intomainfrom
arm64x

Conversation

@messense
Copy link
Copy Markdown
Owner

Adds MachineType::ARM64X and ImportLibrary::new_arm64x(ec_def, native_def, flavor) which produces a hybrid archive containing both ARM64EC short-import objects (for the primary exports) and pure ARM64 short-import objects (for the native exports). The archive uses two symbol tables: the regular GNU symbol table holds descriptor + native ARM64 symbols, while the /<ECSYMBOLS>/ member holds descriptor + EC symbols.

Verified byte-identical against llvm-lib /MACHINE:ARM64X /defArm64Native: output.

Adds `MachineType::ARM64X` and `ImportLibrary::new_arm64x(ec_def, native_def, flavor)`
which produces a hybrid archive containing both ARM64EC short-import objects
(for the primary exports) and pure ARM64 short-import objects (for the native
exports). The archive uses two symbol tables: the regular GNU symbol table
holds descriptor + native ARM64 symbols, while the `/<ECSYMBOLS>/` member holds
descriptor + EC symbols.

Verified byte-identical against `llvm-lib /MACHINE:ARM64X /defArm64Native:` output.
@messense messense merged commit f0bcef5 into main Apr 22, 2026
6 checks passed
@messense messense deleted the arm64x branch April 22, 2026 13:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant