Skip to content

[lldb][debugserver] Save and restore the SVE/SME register state (#134184) #10418

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

Conversation

jasonmolenda
Copy link

debugserver isn't saving and restoring the SVE/SME register state around inferior function calls.

Making arbitrary function calls while in Streaming SVE mode is generally a poor idea because a NEON instruction can be hit and crash the expression execution, which is how I missed this, but they should be handled correctly if the user knows it is safe to do.

Re-landing this change after fixing an incorrect behavior on systems without SME support.

rdar://146886210
(cherry picked from commit f1c6612)

…#134184)

debugserver isn't saving and restoring the SVE/SME register state around
inferior function calls.

Making arbitrary function calls while in Streaming SVE mode is generally
a poor idea because a NEON instruction can be hit and crash the
expression execution, which is how I missed this, but they should be
handled correctly if the user knows it is safe to do.

Re-landing this change after fixing an incorrect behavior on systems
without SME support.

rdar://146886210
(cherry picked from commit f1c6612)
@jasonmolenda jasonmolenda requested a review from a team as a code owner April 3, 2025 23:11
@jasonmolenda
Copy link
Author

@swift-ci test

@jasonmolenda
Copy link
Author

@swift-ci test windows

@jasonmolenda jasonmolenda merged commit 886d8cc into swiftlang:stable/20240723 Apr 4, 2025
2 of 3 checks passed
@jasonmolenda jasonmolenda deleted the cp/r146886210-debugserver-save-restore-sme-registers branch April 4, 2025 07:02
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.

1 participant