Skip to content

Simplify logic for setting __aarch64_have_lse_atomics#4080

Merged
rocallahan merged 1 commit into
rr-debugger:masterfrom
pcc:lse
Jun 24, 2026
Merged

Simplify logic for setting __aarch64_have_lse_atomics#4080
rocallahan merged 1 commit into
rr-debugger:masterfrom
pcc:lse

Conversation

@pcc

@pcc pcc commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

When using a non-glibc loader (e.g. musl), __aarch64_ldadd4_relax will not necessarily be present, but the loader could still be using other outlined atomic functions, so the search for __aarch64_ldadd4_relax would not necessarily succeed. Therefore, remove the logic for disassembling __aarch64_ldadd4_relax, and replace it with code that sets __aarch64_have_lse_atomics directly.

This logic was considered necessary because __aarch64_have_lse_atomics isn't exported. However, __aarch64_ldadd4_relax isn't exported either. So either way, the symbol should be findable via .symtab if it is present.

It's possible that this wouldn't have worked before because of the bug fixed by #4035.

When using a non-glibc loader (e.g. musl), __aarch64_ldadd4_relax will
not necessarily be present, but the loader could still be using other
outlined atomic functions, so the search for __aarch64_ldadd4_relax
would not necessarily succeed. Therefore, remove the logic for
disassembling __aarch64_ldadd4_relax, and replace it with code that sets
__aarch64_have_lse_atomics directly.

This logic was considered necessary because __aarch64_have_lse_atomics
isn't exported. However, __aarch64_ldadd4_relax isn't exported either. So
either way, the symbol should be findable via .symtab if it is present.

It's possible that this wouldn't have worked before because of the bug
fixed by rr-debugger#4035.
@rocallahan rocallahan merged commit 007b5dd into rr-debugger:master Jun 24, 2026
4 of 5 checks passed
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