-
Notifications
You must be signed in to change notification settings - Fork 603
i#5426: Mark instrs in AArch64 mangling epilogue and emulate them. #7692
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+382
−98
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
In mangling instrs that use the stolen register, mark the instrs that restore the register state as mangling epilogue. In recreate_app_state_from_ilist emulate those instructions to advance the app state to after the app instr. This fixes #5426, for which a test is added, but there are probably other translation failures on AArch64, and similar failures on other architectures. The test uses a new function, adaptive_retry, in tools.c, which is abstracted from signal_pre_syscall.c. Issue: #3307, #3329, #5426. Fixes #5426 Change-Id: I825dfbe7188625777abf7b2f26e7170ec7ed2601
Change-Id: I5544deeaa2dafdc8eeed094291796a118f112a81
Change-Id: I3f0b12b7be47751f5751a883fb57de8016ee9b3c
…ing(...)) Change-Id: I0ea30133c9c7f34797f6d688beefebfe5829d6ab
Change-Id: Id028f0343ef97404823b9b70769a16f7c66608e6
Change-Id: If2ff8a8b2410c2827e7617c9daf1628681419817
Contributor
derekbruening
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The translation pointing to the instr instead of post-instr seems the main issue: not sure how x86 gets it to the post instr.
Change-Id: I9b4257da1e72252c71d5c2f052b81f7f8445b49f
Change-Id: Iaac6f5bdd4af6386d64d8ab62b1dbfe1a6c1b728
This was referenced Nov 4, 2025
Change-Id: Ic23f090639e060033d24b74248378f7d35dba180
Change-Id: Ica9217176fb8367ce03ba2b96e5541e6f37aef22
Contributor
|
Sorry for the delay, I was out all last week. |
derekbruening
approved these changes
Nov 18, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In mangling instrs that use the stolen register, mark the instrs that restore the register state as mangling epilogue.
In recreate_app_state_from_ilist emulate those instructions to advance the app state to after the app instr.
This fixes #5426, for which a test is added, but there are probably other translation failures on AArch64, and similar failures on other architectures.
The test uses a new function in tools.c, adaptive_retry, which is abstracted from signal_pre_syscall.c.
Issue: #3307, #3329, #5426.
Fixes #5426