-
Notifications
You must be signed in to change notification settings - Fork 571
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
Implement save_fpstate on AArch64 #2629
Comments
But what should
And there's the comment in proc.h:
Clearly |
On ARM and AArch64 the only use of |
@egrimley Is this just an observation of the existing code's state, or are you pointing out that we do need the For context: I'm working on PR #4507 and we're trying to figure out whether we need this call or not for AArch64 (see comment thread on PR). |
Both But, on arm and aarch64, the entire register state is in |
That sounds right. I've not done any work in this area and need to spend some time on it if I'm to be of any use for reviewing and patching. |
So maybe the only action item here is to add clarifications to the API docs and internal code as to which platforms/situations they apply. Probably we should clarify what "floating point state" means for x86 as well: that it's only x87 state plus mmx registers (occupying the same silicon) and not xmm/ymm/zmm. |
Yes. Provided you're using an architecture variant that has the registers, the SIMD registers on AArch64 aren't usually treated much differently from any other register. I've seen a compiler spill an integer value to a SIMD register, for example. |
Implements some missing AArch64 pieces for invoking dynamorio_sigreturn. Fixes dispatch assert to allow threads to enter dispatch after reset. The current condition allows it only when sending threads native. This affected x86 and AArch64 both. Fixes a bug in setting xsp for sigreturn on AArchXX. Skips save_fpstate for AArch64 as that is not needed. Changes reset trigger for Linux reset tests to -reset_at_nth_thread. To increase coverage of these tests, we need to trigger reset at a time when multiple threads are active. This is difficult to do using the -reset_at_fragment_count option, which may need to be tuned regularly to its ideal value, which also differs based on platform. Issue #2629 Fixes #4496 Fixes #4497
Implements some missing AArch64 pieces for invoking dynamorio_sigreturn. Fixes dispatch assert to allow threads to enter dispatch after reset. The current condition allows it only when sending threads native. This affected x86 and AArch64 both. Fixes a bug in setting xsp for sigreturn on AArchXX. Skips save_fpstate for AArch64 as that is not needed. Changes reset trigger for Linux reset tests to -reset_at_nth_thread. To increase coverage of these tests, we need to trigger reset at a time when multiple threads are active. This is difficult to do using the -reset_at_fragment_count option, which may need to be tuned regularly to its ideal value, which also differs based on platform. Issue #2629 Fixes #4496 Fixes #4497
Clarifies the prose documentation and API routine documentation on what floating-point state is preserved and what is not by DR and what the various explicit "fpstate" preservation routines operate on: only the *x87* floating-point state. Fixes #2629
Clarifies the prose documentation and API routine documentation on what floating-point state is preserved and what is not by DR and what the various explicit "fpstate" preservation routines operate on: only the *x87* floating-point state. Fixes #2629
It is not implemented at the moment. We should also add a test that requires save_fpstate, because it looks like there is non for AArch64 at the moment.
xref #1569
The text was updated successfully, but these errors were encountered: