Skip to content

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

Open
SamHerts wants to merge 15 commits intollnl:develfrom
SamHerts:arm64_CI
Open

Fix Arm64 support and add Arm64 to CI/CD tests#151
SamHerts wants to merge 15 commits intollnl:develfrom
SamHerts:arm64_CI

Conversation

@SamHerts
Copy link
Contributor

No description provided.

@mplegendre
Copy link
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).

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