Skip to content

Fix Arm64 support and add Arm64 to CI/CD tests#151

Merged
mplegendre merged 16 commits intollnl:develfrom
SamHerts:arm64_CI
Apr 6, 2026
Merged

Fix Arm64 support and add Arm64 to CI/CD tests#151
mplegendre merged 16 commits intollnl:develfrom
SamHerts:arm64_CI

Conversation

@SamHerts
Copy link
Copy Markdown
Contributor

No description provided.

@mplegendre
Copy link
Copy Markdown
Member

Unfortunately, I don't have a convenient Linux/ARM system available right now. So I'll have to ask questions rather than test this myself.

The code you refactored from x86_64 to aarch64 is handling a small annoying corner case around data relocations because of limitations around la_symbind. Have you verified that those limitations also exist on aarch64?

Specifically, the refactored code is handling the use case where a program references a symbol of interested as data. E.g.,

int (*open_fptr)(const char *, int, ...) = open;

We'd like symbol to intercept the reference to the 'open' function so we can replace it with the spindle version. But on x86_64 la_symbind() doesn't return binding information when a function is referenced as data. So this code is iterating over the symbol tables, looking for these references, and manually binding them. It's a pain. So can you verify that we need the same capability on aarch64? Does la_symbind() have the same limitation on aarch64?

(Otherwise this PR looks fine at a glance--I'll do a more detailed review soon-ish).

@SamHerts
Copy link
Copy Markdown
Contributor Author

SamHerts commented Apr 6, 2026

I don't believe there is a dramatic difference with la_symbind() between x86 and aarch with regard to binding info, so I think yes it would have the same limitations.

@mplegendre mplegendre merged commit fc0f078 into llnl:devel Apr 6, 2026
5 checks passed
@SamHerts SamHerts deleted the arm64_CI branch April 9, 2026 20:39
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.

2 participants