Commit 886d8cc
authored
[lldb][debugserver] Save and restore the SVE/SME register state (llvm#134184) (swiftlang#10418)
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)1 parent bddce88 commit 886d8cc
File tree
1 file changed
+21
-2
lines changed- lldb/tools/debugserver/source/MacOSX/arm64
1 file changed
+21
-2
lines changedLines changed: 21 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2952 | 2952 | | |
2953 | 2953 | | |
2954 | 2954 | | |
2955 | | - | |
2956 | | - | |
| 2955 | + | |
| 2956 | + | |
| 2957 | + | |
| 2958 | + | |
| 2959 | + | |
| 2960 | + | |
| 2961 | + | |
| 2962 | + | |
| 2963 | + | |
2957 | 2964 | | |
2958 | 2965 | | |
2959 | 2966 | | |
| |||
3123 | 3130 | | |
3124 | 3131 | | |
3125 | 3132 | | |
| 3133 | + | |
| 3134 | + | |
| 3135 | + | |
| 3136 | + | |
| 3137 | + | |
| 3138 | + | |
3126 | 3139 | | |
3127 | 3140 | | |
3128 | 3141 | | |
| |||
3150 | 3163 | | |
3151 | 3164 | | |
3152 | 3165 | | |
| 3166 | + | |
| 3167 | + | |
| 3168 | + | |
| 3169 | + | |
| 3170 | + | |
| 3171 | + | |
3153 | 3172 | | |
3154 | 3173 | | |
3155 | 3174 | | |
| |||
0 commit comments