Ari Lotter
8dc1d90352
Use try_from replacing cast in wasmtime-runtime.
2019-06-09 12:27:28 +02:00
Ari Lotter
f3f6ab0583
Use try_from replacing cast in wasmtime-wasi-c.
2019-06-09 12:27:28 +02:00
Ari Lotter
1158b5bd6c
Use try_from replacing cast in wasmtime-environ.
...
`try_from` is stable now, so cast is unnecessary.
2019-06-09 12:27:28 +02:00
Jakub Konka
e530a582af
Fix preopening dirs on Windows
2019-06-03 13:23:07 -07:00
Dan Gohman
635be8a032
Make the wasmtime-wasi-c dependency conditional on Unix.
2019-06-03 13:23:07 -07:00
Dan Gohman
06b6ec42b9
Provide the C WASI implementation as an option.
...
This adds the C WASI implementation as a new crate, wasmtime-wasi-c,
and adds a command-line flag to the wasmtime command-line driver to
select which WASI implementation to use.
2019-06-03 13:23:07 -07:00
Jakub Konka
d57fbc7d0c
Sync with wasi-common
2019-06-03 13:23:07 -07:00
Jakub Konka
e44d8e8fe3
Update min rustc to 1.34 as required by wasi-common
2019-06-03 13:23:07 -07:00
Jakub Konka
e8142f076d
Migrate to wasi-common crate
2019-06-03 13:23:07 -07:00
Dan Gohman
3dfeab50ad
Don't add the NULL terminator to argv and environ arrays.
...
The wasm userspace has been updated to do that instead, in
https://github.com/CraneStation/wasi-sysroot/pull/72 .
2019-06-02 08:54:51 +02:00
Dan Gohman
9a66400cd8
Use try_from instead of the cast crate.
...
`try_from` is newly stable in the standard library starting in Rust 1.34.
2019-05-31 21:09:43 +02:00
Jakub Konka
51fc39e0e6
Backport path_get fix discovered in Win branch
2019-05-31 20:32:42 +02:00
Dan Gohman
61eb4738fe
wasi-sysroot is now named wasi-libc. ( #167 )
2019-05-31 10:15:52 +02:00
Dan Gohman
825f1d764a
Fix a compiler warning.
...
Fix the following warning from Rust 1.35:
warning: cannot borrow `*self` as mutable because it is also borrowed as immutable
--> wasmtime-runtime/src/instance.rs:473:25
|
465 | } else if let Some(start_export) = self.module.exports.get("_start") {
| ----------- immutable borrow occurs here
...
473 | self.invoke_function(*func_index)
| ^^^^ ----------- immutable borrow later used here
| |
| mutable borrow occurs here
|
= note: #[warn(mutable_borrow_reservation_conflict)] on by default
= warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
= note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159 >
2019-05-30 18:44:38 -07:00
Dan Gohman
b5f4949597
Avoid using C features which depends on _Generic.
2019-05-27 10:13:33 -07:00
Dan Gohman
1882fc41bb
Build sandboxed-system-primitives with -std=gnu99.
2019-05-27 09:14:29 -07:00
Dan Gohman
f486d61629
Make use of static_assert conditional on whether it's available.
2019-05-27 09:07:04 -07:00
Dan Gohman
176538b860
Support GCC and clang versions that lack <stdatomic.h>.
...
Add a code path to use the GCC builtins for atomics, which are supported
in older compiler versions, rather than the new <stdatomic.h>.
2019-05-27 07:48:18 +02:00
Jakub Konka
0143ed548d
Update README
2019-05-24 11:02:03 -07:00
Jakub Konka
b1764e18eb
Add appveyor for automated Win testing
2019-05-24 11:02:03 -07:00
Jakub Konka
9ae766db2f
Add convenience batch script for Win
2019-05-24 11:02:03 -07:00
Jakub Konka
c3ff3cf075
Add template for Windows impl
2019-05-24 11:02:03 -07:00
Jakub Konka
7605584691
Move *nix specific implementation to separate module
2019-05-24 11:02:03 -07:00
Jef
dc3a4d7f4a
Fix register cycles, fix a minor issue in pushing
2019-05-24 13:21:52 +02:00
Van der Auwermeulen Grégoire
60807c5e54
Update README.md
2019-05-22 22:42:31 +02:00
Jef
8578a1b07f
Merge pull request #23 from afinch7/ctz_clz_fix
...
Fix for ctz and clz
2019-05-22 18:54:31 +02:00
afinch7
9b6abc1497
fmt
2019-05-22 09:47:04 -04:00
afinch7
48b7f8e443
detect lzcnt/tzcnt support and use if available
2019-05-21 10:50:40 -04:00
Van der Auwermeulen Grégoire
658b5aabcc
Update WASI-tutorial.md
2019-05-21 06:45:28 -07:00
Dan Gohman
3372e47e5a
Fix fd_fdstat_set_rights to set the rights.
...
After checking that no new rights are being added, actually set the
rights, which may be a subset of the original rights.
2019-05-20 10:22:07 +02:00
Dan Gohman
c5bda1f4e1
Fix symlink resolution on Linux and FreeBSD.
...
Linux's open returns ENOTDIR when used with O_DIRECTORY|O_NOFOLLOW and
the path is a symlink. Update the code to expect this.
FreeBSD's open returns EMLINK instead of ELOOP when using O_NOFOLLOW on
symlink. Update the code to expect this.
2019-05-20 10:22:07 +02:00
Dan Gohman
9823bf6196
Change path_open to not create files with execute privleges.
...
WASI currently lacks the ability to specify the full UNIX access control
information when creating files and directories, so for now just avoid
creating executable files and rely on the umask.
2019-05-20 10:22:07 +02:00
Dan Gohman
32da43f600
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-05-20 10:22:07 +02:00
Dan Gohman
d20d787bb7
Don't grant __WASI_RIGHT_FD_FILESTAT_SET_SIZE for directories.
...
RIGHTS_DIRECTORY_BASE should not include
__WASI_RIGHT_FD_FILESTAT_SET_SIZE, because that would imply the ability
to set the size of a directory.
2019-05-20 10:22:07 +02:00
Dan Gohman
6b2eee21b9
Update the description of Cargo.toml.
2019-05-18 21:01:14 -07:00
Dan Gohman
eb2b51353e
Rename the top-level crate from wasmtime-tools to wasmtime.
...
This is a binary application crate which contains the wasmtime
command-line application.
2019-05-18 20:25:08 -07:00
Jakub Konka
f95af95d87
Update README
2019-05-18 15:43:58 -07:00
Jakub Konka
14ba585edf
Reorganise hostcalls into submodules
2019-05-18 15:43:58 -07:00
Jakub Konka
b9871648b2
Import all changes from lucet-wasi
2019-05-18 15:43:58 -07:00
Dan Gohman
106c8c4cb6
Remove the polyfill from the master branch.
...
The polyfill now lives on the polyfill branch. Add a README.md file
pointing to the new location.
2019-05-18 15:40:30 -07:00
Will Scott
1320b111eb
fix guest iovs pointer mapping
2019-05-18 15:31:14 -07:00
Jakub Konka
bbdaf7b686
Re-enable cargo cache in travis ci
2019-05-16 06:10:23 -07:00
Jakub Konka
5ff4f57f97
Disable cargo cache in travis ci temporarily
2019-05-15 13:57:06 -07:00
Jakub Konka
5aa598520c
Rename C prefix from __wasi to wasi_common_
2019-05-15 13:57:06 -07:00
Jakub Konka
52eda1498a
Correctly unpack &mut [T] into *mut T and usize
2019-05-15 13:57:06 -07:00
Jakub Konka
006198eb92
Generate C bindings for all hostcalls
2019-05-15 13:57:06 -07:00
Jakub Konka
9ad16cc702
Add sanity tests
2019-05-15 13:57:06 -07:00
Jakub Konka
7f3c325cdf
Dereference pointers and call the hostcall fn
2019-05-15 13:57:06 -07:00
Jakub Konka
4a5910b4a3
Capture correct return type
2019-05-15 13:57:06 -07:00
Jakub Konka
7791166859
Generate C fn name prefixed with __wasi_
2019-05-15 13:57:06 -07:00