Commit Graph

1982 Commits

Author SHA1 Message Date
Dan Gohman
574b885656 Merge pull request #7 from CraneStation/missing-hostcalls
Add stubs for unimplemented hostcalls
2019-05-09 00:34:02 -07:00
Jakub Konka
8090f8791f Add stubs for unimplemented hostcalls 2019-05-08 08:04:16 +02:00
Dan Gohman
c6db9f3dff Merge pull request #6 from kubkon/dev-ops
Set up CI, add format and test scripts.
2019-05-07 22:44:39 -07:00
Jakub Konka
19a4f00752 Set up CI, add format and test scripts.
Remove unused Cargo dependencies.
2019-05-08 07:39:54 +02:00
Jef
b67514bd11 Merge pull request #20 from tiborvass/fix-brif-typo
microwasm: fix comment typo for BrIf
2019-05-08 07:29:36 +02:00
Jakub Konka
072b2e8697 Update .rustfmt.toml 2019-05-07 13:56:04 -07:00
Jakub Konka
56824194b2 Merge pull request #5 from kubkon/comment
Update a comment to refer to WASI.
2019-05-07 22:46:00 +02:00
Jakub Konka
3e94af81df Add Rust impl of wasmtime_ssp_fd_prestat_dir_name 2019-05-07 13:20:55 -07:00
Dan Gohman
5e702fa001 Update a comment to refer to WASI. 2019-05-07 12:48:49 -07:00
Dan Gohman
aaed8c409a Merge pull request #4 from kubkon/port-wasi-types
Port WASI host types
2019-05-07 12:47:51 -07:00
Jakub Konka
2587fa0145 Port WASI host types 2019-05-07 21:44:16 +02:00
Dan Gohman
eb58f27bd5 Merge pull request #3 from kubkon/add-git-revision
Add git revision to track against lucet-wasi
2019-05-07 12:40:12 -07:00
Dan Gohman
8335484870 Update wasm32.rs to name the union fields.
The upstream wasi/core.h header switched from anonymous unions to unions
named `u`. This patch updates wasm32.rs to reflect this, as was done in
wasmtime 5b77f952.
2019-05-07 21:37:02 +02:00
Dan Gohman
7cb78efac4 Eliminate whitespace diffs with upstream LICENSE files. 2019-05-07 09:01:57 +02:00
Jakub Konka
b784ae875e Add git revision to track against lucet-wasi 2019-05-07 08:58:24 +02:00
Jef
30583954eb Add better debugging tools 2019-05-06 10:44:13 +02:00
Jakub Konka
ce6f9cb165 Changes to compile in lucet 2019-05-06 09:51:54 +02:00
Till Schneidereit
2549abd671 Merge pull request #133 from kubkon/kubkon/rust-tutorial
Update WASI tutorial with Rust howto as well
2019-05-05 15:10:05 +02:00
Jakub Konka
cd39c1dfd8 Extract common interface from lucet-wasi 2019-05-04 18:20:21 +02:00
Jakub Konka
e41d333878 Update WASI tutorial with Rust howto as well 2019-05-02 22:02:19 +02:00
Till Schneidereit
e12f797c2c Merge pull request #132 from kubkon/patch-1
Add link to Rust version of the WASI tutorial
2019-05-02 15:56:01 +02:00
Jakub Konka
5c14d1eb6f Add link to Rust version of the WASI tutorial
I thought it might be useful for future WASI users to have the WASI tutorial written not only in C but also in Rust.

I'm also happy to keep the tutorial up to date with the current state of WASI target in Rust.
2019-05-02 15:49:30 +02:00
Jakub Konka
d6b2faeeb4 Modify fd_prestat to hold C-str together with its length 2019-05-01 15:32:28 -07:00
Jakub Konka
f7245f40a1 Port host::__wasi_preopentype_t to Rust 2019-05-01 15:32:28 -07:00
Jakub Konka
5c555406ca Add Rust impl of wasmtime_ssp_fd_prestat_get
In more detail, this commit:
* makes fd_prestat_get safe
* rewrites fd_prestats_get_entry in (safe) Rust
* creates helper macros for rwlock read lock and unlock
2019-05-01 15:32:28 -07:00
Dan Gohman
b0eab7398d Don't decode the incoming events to poll_oneoff. (#113)
The events array is an output-only array, so we don't need to decode its
contents.
2019-04-30 06:42:48 -07:00
Dan Gohman
ce3c0d98d3 Don't rewrite EBUSY to EINVAL in path_rename. 2019-04-29 23:36:21 -07:00
Dan Gohman
049c926e08 Handle set-size rights correctly when truncating a file.
If a path_open call is requesting __WASI_RIGHT_FD_FILESTAT_SET_SIZE,
interpret that as a request for write privleges. If it is requesting
O_TRUNC, require __WASI_RIGHT_PATH_FILESTAT_SET_SIZE, since this is
a path operation rather than a FD operation.
2019-04-29 23:34:34 -07:00
Dan Gohman
e62607e552 When path_open fails, set the output fd to -1. 2019-04-29 23:34:13 -07:00
Jakub Konka
86b7a52009 Port host::__wasi_errno_t errors to Rust
They are now blacklisted in the bindgen.
2019-04-29 23:33:40 -07:00
Jakub Konka
a51ffb6b6d Add Rust impl of wasmtime_ssp_sched_yield
Also, add Rust implementation of errno and convert_errno.
2019-04-29 23:33:40 -07:00
Dan Gohman
26cbbaab41 Clarify that path_open's path is a relative path. 2019-04-29 07:34:28 -07:00
Dan Gohman
29c2616484 Update the documentation about C/C++ toolchain limitations.
Document that `setjmp`/`longjmp` and C++ exceptions are unsupported, and
update the documentation about the function signature mismatch bug to
reflect that it's now just a warning rather than a fatal error.
2019-04-28 16:41:58 -07:00
Jakub Konka
69e44caa29 Add Rust impl of wasmtime_ssp_proc_exit 2019-04-27 09:06:41 -07:00
Dan Gohman
e906370661 Make path_open return ELOOP on O_NOFOLLOW|O_DIRECTORY on a symlink. 2019-04-26 14:09:12 -07:00
Dan Gohman
f10cd2f4b1 Don't allow a preopened file descriptor to be renamed over.
This is consistent with fd_close's behavior, and is likely temporary
until other options are designed.
2019-04-26 13:06:42 -07:00
Jef
21cdd55cd2 Fix various panics and miscompilations 2019-04-24 15:00:15 +02:00
Jef
745d9ae162 Implement rem in backend - not every backend will act like x86 2019-04-24 12:32:17 +02:00
Jef
ea1ec9491e Don't use cmov (no need) 2019-04-24 09:16:38 +02:00
Dan Gohman
7813cc9d2d Fix a trace logging message. 2019-04-23 12:08:06 -07:00
Jake Lang
a2eafd400f Document using wasmtime as a dependency in the README 2019-04-19 15:09:59 -07:00
Joel Martin
b8fbae29e1 WASI-api.md: fix fsync -> fcntl 2019-04-18 13:25:40 -07:00
Jef
a2ef962ed7 Fix shift's incorrect register freeing logic 2019-04-17 16:06:51 +02:00
Jef
82e810c8d2 Avoid emitting tests on select 2019-04-17 15:47:22 +02:00
Jef
ced654f907 Allow register allocation to fail 2019-04-17 15:13:38 +02:00
Stefano Buliani
3351befb3b Allow access to memory_index and grow on Instance (#105)
* Changed `memory_grow` and `memory_index` in `Instance` struct to be `pub(crate)` and added the equivalent proxy methods to the `InstanceHandle` struct.
2019-04-16 19:59:54 -07:00
Dan Gohman
a99107203e Document the preopened file descriptor range. 2019-04-16 11:00:18 -07:00
Dan Gohman
d722b354db Miscellaneous tidying in the API docs.
- Don't include an extra "*" in type of Output arguments.
 - Fix the summary of environ_sizes_get.
 - Put fs_rights_base and fs_rights_inherinting arguments on separate lines.
 - Sort fd_prestat_dirname alphabetically before fd_prestat_get.
2019-04-16 11:00:18 -07:00
Dan Gohman
9b1cd4bc7b Document __wasi_preopentype_t and __wasi_prestat_t. 2019-04-16 11:00:18 -07:00
Dan Gohman
4262178cf5 Document the git clone --recurse-submodules requirement.
Currently, it's necessary to do this in order to obtain a lightbeam
checkout, in order to build wasmtime.

I'm very interested in learning about better ways to solve this problem.
2019-04-16 10:59:45 -07:00