| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2023-07-09 | move personality to sys | Gus Caplan | -300/+0 | |
| 2023-05-07 | Parse catch filter in personality function | Gary Guo | -1/+4 | |
| 2023-01-09 | Add comment | Kai Luo | -1/+3 | |
| 2023-01-09 | Move to intepret_cs_action | Kai Luo | -24/+17 | |
| 2023-01-09 | Add comments | Kai Luo | -0/+2 | |
| 2023-01-09 | Also check ttype_index when using SJLJ | Kai Luo | -2/+10 | |
| 2023-01-04 | [LSDA] Take ttype_index into account when taking action | Kai Luo | -2/+10 | |
| If cs_action != 0, we should check the ttype_index field in action record. If ttype_index == 0, a clean up action is taken. | ||||
| 2022-11-20 | enable fuzzy_provenance_casts lint in libstd | Ralf Jung | -3/+4 | |
| 2022-10-05 | Interpret EH actions properly | Gary Guo | -3/+2 | |
| The EH actions stored in the LSDA follows the format of GCC except table (even for LLVM-generated code). An missing action in the table is the encoding for `Terminate`, see [1]. The currently code interprets it as `None`, as a workaround for #35011, an issue that seems to occur in LLVM 3.7 and not after 3.9. These are very old versions of LLVM and we don't support them anymore, so remove this workaround and interpret them properly. Note that LLVM currently does not emit any `Terminate` actions, but GCC does. Although GCC backend currently doesn't do unwinding, removing it preemptively would prevent future developers from wasting time to figure out what's wrong. [1]: https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/libsupc%2B%2B/eh_personality.cc#L522-L526 | ||||
| 2022-08-23 | Move personality functions to std | Amanieu d'Antras | -0/+284 | |
| These were previously in the panic_unwind crate with dummy stubs in the panic_abort crate. However it turns out that this is insufficient: we still need a proper personality function even with -C panic=abort to handle the following cases: 1) `extern "C-unwind"` still needs to catch foreign exceptions with -C panic=abort to turn them into aborts. This requires landing pads and a personality function. 2) ARM EHABI uses the personality function when creating backtraces. The dummy personality function in panic_abort was causing backtrace generation to get stuck in a loop since the personality function is responsible for advancing the unwind state to the next frame. | ||||
