Commit a4cb2fb
Emit udf for trap vasm instead of brk
Summary:
Previously, vasm trap is implemented with a `brk` on Arm64. However, `brk` triggers a SIGTRAP signal, which is not handled by HHVM's crash reporter code, which is the root cause for `hphp/test/slow/static-analysis-error.php` test failure.
This diffs fixes the issue by implementing vasm trap on Arm64 with a `udf #1` instruction, which is Arm64's counterpart to x86's `ud2` instruction. `udf` triggers a SIGILL just like what `ud2` does. This fixes `hphp/test/slow/static-analysis-error.php` and achieves platform parity in terms of trap and crash handling.
Reviewed By: binliu19
Differential Revision: D94627667
fbshipit-source-id: 16654bd424f1147e5fb1e7e336086dbf8cda612d1 parent 385aff0 commit a4cb2fb
2 files changed
Lines changed: 7 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
49 | 48 | | |
50 | | - | |
51 | 49 | | |
52 | 50 | | |
53 | 51 | | |
| |||
147 | 145 | | |
148 | 146 | | |
149 | 147 | | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
150 | 151 | | |
151 | 152 | | |
| 153 | + | |
152 | 154 | | |
153 | 155 | | |
154 | 156 | | |
| |||
322 | 324 | | |
323 | 325 | | |
324 | 326 | | |
325 | | - | |
326 | 327 | | |
327 | | - | |
328 | | - | |
329 | | - | |
330 | 328 | | |
331 | 329 | | |
332 | 330 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1252 | 1252 | | |
1253 | 1253 | | |
1254 | 1254 | | |
1255 | | - | |
| 1255 | + | |
| 1256 | + | |
| 1257 | + | |
1256 | 1258 | | |
1257 | 1259 | | |
1258 | 1260 | | |
| |||
0 commit comments