diff options
| author | Vadim Chugunov <vadimcn@gmail.com> | 2016-07-24 22:09:56 -0700 |
|---|---|---|
| committer | Vadim Chugunov <vadimcn@gmail.com> | 2016-07-25 09:37:41 -0700 |
| commit | 5fbcf08dd8cfc347c13d84c8ea20e3bfce6793fc (patch) | |
| tree | e875ccb266687873bd792feb5d3aee2a470ffa63 /src | |
| parent | 2c50f4e484d1c871538ee99032ec2986177b8062 (diff) | |
| download | rust-5fbcf08dd8cfc347c13d84c8ea20e3bfce6793fc.tar.gz rust-5fbcf08dd8cfc347c13d84c8ea20e3bfce6793fc.zip | |
Looser LSDA parsing
Diffstat (limited to 'src')
| -rw-r--r-- | src/libpanic_unwind/dwarf/eh.rs | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/libpanic_unwind/dwarf/eh.rs b/src/libpanic_unwind/dwarf/eh.rs index 32fdf5c2048..1e9e9e30f5c 100644 --- a/src/libpanic_unwind/dwarf/eh.rs +++ b/src/libpanic_unwind/dwarf/eh.rs @@ -108,10 +108,9 @@ pub unsafe fn find_eh_action(lsda: *const u8, context: &EHContext) -> EHAction { } } } - // If ip is not present in the table, call terminate. This is for - // a destructor inside a cleanup, or a library routine the compiler - // was not expecting to throw - EHAction::Terminate + // Ip is not present in the table. This should not hapen... but it does: issie #35011. + // So rather than returning EHAction::Terminate, we do this. + EHAction::None } else { // SjLj version: // The "IP" is an index into the call-site table, with two exceptions: |
