Commit Graph

4327 Commits

Author SHA1 Message Date
Patrick Ventuzelo
3836b544b6
update changelog 2019-12-11 10:46:42 +01:00
Patrick Ventuzelo
c578150e1c
Merge branch 'master' into ventuzelo/fix-857-panic-loader-parameter 2019-12-11 10:45:55 +01:00
Syrus Akbary
ca03402207
Merge pull request #1047 from wasmerio/dependabot/cargo/serde_bytes-0.11.3
Bump serde_bytes from 0.11.2 to 0.11.3
2019-12-11 00:24:06 -08:00
Syrus Akbary
36b2dc417b
Merge pull request #1048 from wasmerio/dependabot/cargo/cc-1.0.48
Bump cc from 1.0.47 to 1.0.48
2019-12-11 00:23:54 -08:00
dependabot-preview[bot]
52cb3a18a4
Bump cc from 1.0.47 to 1.0.48
Bumps [cc](https://github.com/alexcrichton/cc-rs) from 1.0.47 to 1.0.48.
- [Release notes](https://github.com/alexcrichton/cc-rs/releases)
- [Commits](https://github.com/alexcrichton/cc-rs/compare/1.0.47...1.0.48)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-11 02:04:10 +00:00
dependabot-preview[bot]
499a408eff
Bump serde_bytes from 0.11.2 to 0.11.3
Bumps [serde_bytes](https://github.com/serde-rs/bytes) from 0.11.2 to 0.11.3.
- [Release notes](https://github.com/serde-rs/bytes/releases)
- [Commits](https://github.com/serde-rs/bytes/compare/0.11.2...0.11.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-11 02:04:08 +00:00
bors[bot]
b9f8aace79
Merge #1056
1056: Integrate Ivan's arg parsing code into --invoke r=syrusakbary a=MarkMcCaskey

Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>

Because #281 is on a branch on a fork, I made a new branch.

Does arg parsing when using `--invoke`


Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Syrus Akbary <me@syrusakbary.com>
2019-12-11 02:02:39 +00:00
Syrus Akbary
5aa70a8ae4
Update CHANGELOG.md 2019-12-10 17:57:26 -08:00
Syrus Akbary
92fcce2c21
Merge branch 'master' into feature/invoke-arg-parsing 2019-12-10 17:55:24 -08:00
Mark McCaskey
bc8d5a542c Return parse error strings rather than printing them in invoke parse 2019-12-10 17:37:22 -08:00
bors[bot]
3489001b79
Merge #1027
1027: Bump libc from 0.2.65 to 0.2.66 r=nlewycky a=dependabot-preview[bot]

Bumps [libc](https://github.com/rust-lang/libc) from 0.2.65 to 0.2.66.
<details>
<summary>Commits</summary>

- [`4f11029`](4f11029a68) Bump patch version to 0.2.66
- [`bba019b`](bba019bff5) Auto merge of [#1610](https://github-redirect.dependabot.com/rust-lang/libc/issues/1610) - GrayJack:utmp_netbsd, r=gnzlbg
- [`ea0a54a`](ea0a54a661) Auto merge of [#1608](https://github-redirect.dependabot.com/rust-lang/libc/issues/1608) - lzutao:netbsd-mut-pthread_setname_np, r=gnzlbg
- [`42289eb`](42289eb64f) Implement utmp for NetBSD
- [`cfd561c`](cfd561c289) Auto merge of [#1605](https://github-redirect.dependabot.com/rust-lang/libc/issues/1605) - zvirja:fix-mipsel-unknown-linux-uclibc, r=gnzlbg
- [`51ae96a`](51ae96a5b0) Auto merge of [#1576](https://github-redirect.dependabot.com/rust-lang/libc/issues/1576) - GrayJack:utmpx_netbsd, r=gnzlbg
- [`096d868`](096d868a2f) Auto merge of [#1584](https://github-redirect.dependabot.com/rust-lang/libc/issues/1584) - psumbera:master, r=gnzlbg
- [`88f6587`](88f6587631) Auto merge of [#1607](https://github-redirect.dependabot.com/rust-lang/libc/issues/1607) - jclulow:futimens, r=gnzlbg
- [`5130285`](5130285ccd) Auto merge of [#1606](https://github-redirect.dependabot.com/rust-lang/libc/issues/1606) - msizanoen1:riscv, r=gnzlbg
- [`a06978b`](a06978b7c0) Fix breakage due to [rust-lang/cargo#7560](https://github-redirect.dependabot.com/rust-lang/cargo/pull/7560) and rust-lan...
- Additional commits viewable in [compare view](https://github.com/rust-lang/libc/compare/0.2.65...0.2.66)
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=libc&package-manager=cargo&previous-version=0.2.65&new-version=0.2.66)](https://dependabot.com/compatibility-score.html?dependency-name=libc&package-manager=cargo&previous-version=0.2.65&new-version=0.2.66)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)



</details>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2019-12-11 01:12:38 +00:00
Mark McCaskey
0a9c41b313 Integrate Ivan's arg parsing code into --invoke
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-12-10 17:12:35 -08:00
bors[bot]
19937ce154
Merge #1054
1054: Improve wasmer invoke function r=syrusakbary a=syrusakbary

<!-- 
Prior to submitting a PR, review the CONTRIBUTING.md document for recommendations on how to test:
https://github.com/wasmerio/wasmer/blob/master/CONTRIBUTING.md#pull-requests

-->

# Description
Prior to this PR, when executing wasmer, we will have this in the stdout:
 
```bash
➜  wasmer fib32.wasm --invoke fib 30
main() returned: [I32(832040)]
```

Note that it says `main()` returned even if the function called is `fib`.
This PR fixes this and improves the messaging also for WASI invoked functions

<!-- 
Provide details regarding the change including motivation,
links to related issues, and the context of the PR.
-->

# Review

- [x] Add a short description of the the change to the CHANGELOG.md file


Co-authored-by: Syrus Akbary <me@syrusakbary.com>
2019-12-11 00:22:57 +00:00
Syrus Akbary
55c7df2af6
Merge branch 'master' into invoke-print-result 2019-12-10 16:22:30 -08:00
Syrus Akbary
c783b7ce90
Merge pull request #1055 from wasmerio/fix/arm-ci-should-block-shipping
Add ARM CI to bors's list
2019-12-10 16:15:11 -08:00
Mark McCaskey
727ea3ba45 Add ARM CI to bors's list 2019-12-10 16:13:09 -08:00
Syrus Akbary
6364c56d63
Update CHANGELOG.md 2019-12-10 16:12:56 -08:00
Syrus Akbary
8e4fdcf5f1
Update src/bin/wasmer.rs 2019-12-10 16:10:33 -08:00
Syrus Akbary
a52fadf54e
Improve wasmer invoke function 2019-12-10 16:07:14 -08:00
bors[bot]
8a13917ec5
Merge #1053
1053: For RuntimeError and breakpoints, use Box<Any + Send> instead of Box<Any>. r=syrusakbary a=nlewycky

# Description
For RuntimeError and breakpoints, use Box<Any + Send> instead of Box\<Any\>.

# Review

- [x] Add a short description of the the change to the CHANGELOG.md file

Fixes #1049 

Co-authored-by: Nick Lewycky <nick@wasmer.io>
Co-authored-by: Syrus Akbary <me@syrusakbary.com>
2019-12-10 22:00:02 +00:00
Syrus Akbary
298adfd338
Merge branch 'master' into feature/runtime-error-send 2019-12-10 13:59:12 -08:00
Nick Lewycky
5198c7ed50 Add changelog entry. 2019-12-10 13:24:59 -08:00
bors[bot]
7da70a3d34
Merge #1052
1052: Fix issue #1051 + replace assert, unreachable in singlepass codegen code r=syrusakbary a=pventuzelo

# Description

This pull request: 
- fix the issue #1051 
- replace `asserts` by Errors 
- replace `unreachable!` by Errors 
- Improve Error handling in singlepass codegen code

# Review

- [x] Add a short description of the the change to the CHANGELOG.md file


Co-authored-by: Patrick Ventuzelo <ventuzelo.patrick@gmail.com>
Co-authored-by: Patrick Ventuzelo <9038181+pventuzelo@users.noreply.github.com>
2019-12-10 20:24:42 +00:00
Patrick Ventuzelo
0cda11f632
Merge branch 'master' into ventuzelo/fix_unwrap_panic_singlepass 2019-12-10 09:12:17 +01:00
Nick Lewycky
0a278c55ee For error handling and breakpoints, use Box<Any + Send> instead of Box<Any>. 2019-12-09 21:00:01 -08:00
bors[bot]
12daaba3fd
Merge #1050
1050: feat(github) Attach C & C++ headers to releases r=syrusakbary a=Hywan

This patch copies the generated C and C++ headers of `wasmer-runtime-c-api` in the `artifacts` directory, so that they are attached to releases as assets.

Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-12-10 00:37:37 +00:00
Patrick Ventuzelo
ae568686cb add changelog entry 2019-12-09 15:48:43 +01:00
Patrick Ventuzelo
a0c628c063 fix unwrap bug + replace assert, unreachable in singlepass codegen 2019-12-09 15:18:08 +01:00
Ivan Enderlin
03082a6960 doc(changelog) Add #1050. 2019-12-09 13:41:35 +01:00
Ivan Enderlin
4a27dd34a2 feat(github) Attach C & C++ headers to releases. 2019-12-09 13:39:21 +01:00
bors[bot]
71b342e5b1
Merge #1045
1045: super:: in this case is just crate:: in disguise. r=MarkMcCaskey a=nlewycky



Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-12-07 04:48:32 +00:00
Nick Lewycky
d227f19f8d super:: in this case is just crate:: in disguise. 2019-12-06 17:51:15 -08:00
bors[bot]
a180721eb9
Merge #1042
1042: Make regression test work in release builds too. r=nlewycky a=nlewycky

Fix this regression test to detect the bug it was looking for in release builds too.

This bug triggered an assertion failure in debug, and by examining the pre-opt IR, we can check for the bug in release mode too.


Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-12-06 23:36:48 +00:00
dependabot-preview[bot]
87ef0d6f25
Bump libc from 0.2.65 to 0.2.66
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.65 to 0.2.66.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.65...0.2.66)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-06 22:09:04 +00:00
bors[bot]
2139357021
Merge #709
709: new feature flag: `deterministic` r=MarkMcCaskey a=YaronWittenstein

The motivation for the PR is for introducing a new feature flag called `deterministic`.

When `deterministic` will be enabled (turned-off by default) it'll guarantee deterministic
execution of wasm programs across different hardware/circumstances.

This is critical for Blockchain projects that require execution to be deterministic
in order to reach a consensus of the state transition of each smart-contract transaction.

Co-authored-by: Yaron Wittenstein <yaron.wittenstein@gmail.com>
Co-authored-by: Yaron Wittenstein <yaronwittenstein@users.noreply.github.com>
Co-authored-by: Mark McCaskey <5770194+markmccaskey@users.noreply.github.com>
Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-12-06 21:24:40 +00:00
Nick Lewycky
a221f1e570 Provide a default empty implementation for the LLVMCallbacks trait. 2019-12-06 12:09:34 -08:00
Yaron Wittenstein
6da3b22936
Merge pull request #1 from MarkMcCaskey/deterministic
Deterministic
2019-12-06 22:06:59 +02:00
bors[bot]
63a588780c
Merge #1033
1033: Improve default compiler story for wasmer cli r=MarkMcCaskey a=MarkMcCaskey

This PR needs the following to be ready to ship:

- [x] Verified make commands are still fine
- [x] Verified this doesn't do anything bad in CI

This PR adds:
- compile_error if no backend is specified in wasmer.rs
- readds clif as the default
- improves the error message saying "specified backend not found" to include the name of the backend that it couldn't find

Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Mark McCaskey <5770194+markmccaskey@users.noreply.github.com>
2019-12-06 19:55:04 +00:00
Mark McCaskey
0580a117da
Improve compile error message when no backends set 2019-12-06 11:54:33 -08:00
bors[bot]
b336726177
Merge #1036
1036: Add experimental invoke support to WASI in wasmer cli r=MarkMcCaskey a=MarkMcCaskey

Resolves #1024 

This PR also does a bit of code clean up

# Review

- [ ] Add a short description of the the change to the CHANGELOG.md file


Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Mark McCaskey <5770194+markmccaskey@users.noreply.github.com>
2019-12-06 18:37:16 +00:00
Mark McCaskey
d2f5690cae
Improve warning message when invoking WASI functions 2019-12-06 10:36:45 -08:00
Mark McCaskey
448faafd0d Apply cargo fmt after GitHub merge 2019-12-06 10:28:20 -08:00
Mark McCaskey
d237bda463
Merge branch 'master' into fix/default-compiler-wasmer-cli 2019-12-06 10:27:53 -08:00
Mark McCaskey
e32a1a6378 Update from feedback; add changelog entry 2019-12-06 10:24:43 -08:00
bors[bot]
59d2b8b381
Merge #1030
1030: feat(runtime-c-api) Ability to generate `ImportObject` for a specific WASI version r=Hywan a=Hywan

⚠️ Contains #1028, must be merged before this one.

This patch introduces 2 new functions:

* `wasmer_wasi_generate_import_object_for_version` and
* `wasmer_wasi_get_version`.

It mimics the current API provided by `wasmer_wasi`, nothing fancy
here. It's just a regular port to C/C++.

Because `wasmer_wasi::get_wasi_version` returns an option, and in
order to simplify the C/C++ API, `wasmer_wasi_get_version` can return
`Version::Unknown` in case of an error. It's up to the user to check
the version is valid (i.e. not unknown).

To see only the changes provided by this PR (excluding #1028), check https://github.com/Hywan/wasmer/compare/fix-wasi-get-version...feat-runtime-c-api-wasi-version.

Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-12-06 14:09:39 +00:00
Ivan Enderlin
45e4081e4b doc(changelog) Remove a duplication. 2019-12-06 15:02:48 +01:00
Ivan Enderlin
dfd1253260 Merge branch 'master' into feat-runtime-c-api-wasi-version 2019-12-06 15:02:24 +01:00
bors[bot]
ee16823d5c
Merge #1028
1028: feat(wasi) Introduce strict/non-strict modes for `get_wasi_version` r=Hywan a=Hywan

Sequel of https://github.com/wasmerio/wasmer/pull/957.

If a module has multiple import namespaces, `get_wasi_version` is
broken because it assumes a module must only have a single namespace.

This patch updates `get_wasi_version` to introduce a `strict` flag:

* In strict mode, the previous behavior applies; only one namespace is expected to be found, and this namespace must be a WASI namespace to detect the version,
* In non-strict mode, at least one WASI namespace must be declared, and the first one is used to detect the version if any.

The non-strict mode is slower because it compares namespace strings.

2 new private constants have been declared: `SNAPSHOT0_NAMESPACE` and `SNAPSHOT1_NAMESPACE` to avoid repetition and bugs.

Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
2019-12-06 13:06:19 +00:00
Ivan Enderlin
8aa49f540a test(wasi) Update get_wasi_version signature. 2019-12-06 14:04:30 +01:00
Ivan Enderlin
72c8b66a08 Merge branch 'fix-wasi-get-version' of github.com:Hywan/wasmer into fix-wasi-get-version 2019-12-06 14:02:49 +01:00