Skip to content

Commit

Permalink
Merge branch 'master' into feature/wasi-unix-special-files
Browse files Browse the repository at this point in the history
  • Loading branch information
MarkMcCaskey authored Aug 31, 2020
2 parents e4e41f4 + fb49acd commit 723dd4e
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 1 deletion.
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,16 @@

## TODO: 17...

- [#1554](https://github.com/wasmerio/wasmer/pull/1554) Update supported stable Rust version to 1.45.2.
- [#1552](https://github.com/wasmerio/wasmer/pull/1552) Disable `sigint` handler by default.

## 0.17.1 - 2020-06-24

- [#1439](https://github.com/wasmerio/wasmer/pull/1439) Move `wasmer-interface-types` into its own repository

## 0.17.0 - 2020-05-11

- [#1401](https://github.com/wasmerio/wasmer/pull/1401) Make breaking change to `RuntimeError`: `RuntimeError` is now more explicit about its possible error values allowing for better insight into why a call into Wasm failed.
- [#1382](https://github.com/wasmerio/wasmer/pull/1382) Refactored test infranstructure (part 2)
- [#1380](https://github.com/wasmerio/wasmer/pull/1380) Refactored test infranstructure (part 1)
- [#1357](https://github.com/wasmerio/wasmer/pull/1357) Refactored bin commands into separate files
Expand Down
7 changes: 6 additions & 1 deletion lib/compiler-cranelift/src/compiler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,12 @@ impl Compiler for CraneliftCompiler {

// Generate the frametable
#[cfg(feature = "unwind")]
let dwarf_frametable = {
let dwarf_frametable = if function_body_inputs.is_empty() {
// If we have no function body inputs, we don't need to
// construct the `FrameTable`. Constructing it, with empty
// FDEs will cause some issues in Linux.
None
} else {
use std::sync::{Arc, Mutex};
match target.triple().default_calling_convention() {
Ok(CallingConvention::SystemV) => {
Expand Down
8 changes: 8 additions & 0 deletions lib/engine-jit/src/unwind/systemv.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,14 @@ impl UnwindRegistry {
}
} else {
// On other platforms, `__register_frame` will walk the FDEs until an entry of length 0

// Registering an empty `eh_frame` (i.e. which
// contains empty FDEs) cause problems on Linux when
// deregistering it. We must avoid this
// scenario. Usually, this is handled upstream by the
// compilers.
debug_assert_ne!(eh_frame, &[0, 0, 0, 0], "`eh_frame` seems to contain empty FDEs");

let ptr = eh_frame.as_ptr();
__register_frame(ptr);
self.registrations.push(ptr as usize);
Expand Down

0 comments on commit 723dd4e

Please sign in to comment.