152 Commits

Author SHA1 Message Date
Mackenzie Clark
b4c890814e enhance vfs, capture errors, more methods to support emscripten
create vfs module guarded by flag for emscripten vfs behavior


cleanup warning fixes


wip


emscripten vfs wip


metadata for virtual file


make an fd an i32


fix the feature flag for llvm on emscripten


more wip


wip


add logging and fix one logical error
2019-03-21 08:55:23 -07:00
Mackenzie Clark
edacb0a8a7 Merge branch 'master' into feature/vfs 2019-03-16 13:38:02 -07:00
Mackenzie Clark
14104c2c8b fix lots of warnings
fix warnings
2019-03-15 14:10:17 -07:00
Mackenzie Clark
8fc2a13828 use the header 2019-03-14 13:34:52 -07:00
Mackenzie Clark
93b602d8ea use "wasmer:fs" for custom section name and add unbundled test wasm 2019-03-13 15:24:48 -07:00
Mackenzie Clark
bd697487aa Merge branch 'master' into feature/vfs 2019-03-13 14:25:14 -07:00
Mackenzie Clark
c1e0d325e3 switch to zbox 2019-03-13 14:23:55 -07:00
Lachlan Sneff
cd767bc1a7
Merge branch 'master' into fix/llvm-feature-flag 2019-03-13 12:22:21 -07:00
Mackenzie Clark
650125f338 fix build errors 2019-03-12 14:04:53 -07:00
Mackenzie Clark
9ff55a93ee Merge branch 'master' into feature/vfs 2019-03-12 14:02:06 -07:00
Ivan Enderlin
20d1023abe fix(emscripten) Various warning fixes and cleanups (#266)
* fix(emscripten) Remove unused imports.

This patch removes unused imports reported by `rustc` as warnings.

* fix(emscripten) Allow unreachable patterns in `_clock_gettime`.

The compiler thinks `CLOCK_MONOTONIC_COARSE` is unreachable, which is
not always the case. Add an attribute to allow unreachable patterns to
remove the warning.

* fix(emscripten) Rename unused variables.

This patch renames various unused variables by appending an underscore
to them.

* fix(emscripten) Declare `table` as immutable.

The `table` variable in `EmscriptenGlobals::new` was declared as
mutable, but it's never mutated.

* fix(emscripten) Remove an unnecessary `unsafe` block.

* fix(emscripten) Remove duplicate definition of `SO_NOSIGPIPE`.

The `SO_NOSIGPIPE` constant is defined in `syscalls/mod.rs` and
`syscalls/unix.rs`. It's never used in the first case. We can safely
remove it in this file, and keep it in `unix.rs`.

* fix(emscripten) `read_string_from_wasm` is used only on Windows.

Mark `read_string_from_wasm` as possible deadcode, since it's used
only on Windows.

* fix(emscripten) Remove `DYNAMICTOP_PTR_DIFF`, `stacktop`, `stack_max`,
`dynamic_base` and `dynamic_ptr`.

Four functions and one constant are used together but never used
inside or outside this file. They are deadcode.

* fix(emscripten) Remove `infinity` and `nan` fields of `EmscriptenGlobalsData`.

Those fields are never used.

* fix(emscripten) Allow non snake case in `emscripten_target.rs`.

Many functions in this file don't follow the snake case style for Rust
function names. The reason is that we want the names to match the
emscripten symbol names; even if a mapping is done in `lib.rs`, it's
easier to get the same names.

* fix(emscripten) Rename `STATIC_TOP` to `static_top`.

This variable is not a constant.
2019-03-12 14:00:33 -07:00
Mackenzie Clark
0c7808b1d3 reset a cargo manifests 2019-03-12 13:58:33 -07:00
Mackenzie Clark
f2488ac410 remove feature flag on custom sections 2019-03-12 13:36:11 -07:00
Mackenzie Clark
4cee16220b more edge cases 2019-03-12 13:04:14 -07:00
Mackenzie Clark
f7f4fbf08a add the feature flag for llvm backend 2019-03-12 11:59:50 -07:00
Mackenzie Clark
cc3f04efd7 expose vfs in emscripten and impl read syscall, feature flag 2019-03-12 10:48:47 -07:00
Mackenzie Clark
033a2e71bd fix compiler error on windows 2019-03-11 10:25:45 -07:00
Syrus
3a4325c5a3 Only use llvm in non windows envs 2019-03-07 18:26:29 -08:00
Lachlan Sneff
679fdc14c2
Merge branch 'master' into feature/llvm-backend 2019-03-07 13:25:24 -08:00
Brandon Fish
1957ddef53 Run emscripten tests with both compilers 2019-03-06 21:36:46 -06:00
Mackenzie Clark
b1739d93ec remove leading underscores from execvp and exit 2019-03-06 10:18:00 -08:00
Lachlan Sneff
4e198bca8b merge upstream/master into wasmer-private/feature/llvm-backend 2019-03-04 13:03:32 -08:00
Mackenzie Clark
4eb6ad238e lint 2019-03-04 08:11:36 -08:00
Mackenzie Clark
65100d19fc add __exit 2019-03-04 08:10:37 -08:00
Mackenzie Clark
00e3ec1446 add execvp 2019-03-04 08:10:37 -08:00
Mackenzie Clark
2ea9d0b09b add __syscall42 (pipe) 2019-03-04 08:10:37 -08:00
Mackenzie Clark
cf2909f5f3 add alternative assert function for emscripten 2019-03-04 08:10:37 -08:00
Brandon Fish
3f345b41c2 Fix emscripten lib compilation 2019-03-03 15:18:16 -06:00
Syrus
60f8f15db3 Updated version to 0.2.1 2019-02-27 17:20:49 -08:00
Mackenzie Clark
ff5e1320da
Fix casting errors cause io issues (#222) 2019-02-27 13:54:28 -08:00
Syrus
53c8603464 Updated crates version to 0.2.0 2019-02-25 13:33:33 -08:00
Mackenzie Clark
7fb7529b48 cargo fmt 2019-02-22 15:16:07 -08:00
Mackenzie Clark
b5056d676a update wasm file 2019-02-22 15:07:55 -08:00
Mackenzie Clark
966be3ee8f right to the out buffer that was passed in syscall183 2019-02-22 14:54:01 -08:00
Mackenzie Clark
0f9369c67d cargo fmt and better error message 2019-02-22 12:39:19 -08:00
Mackenzie Clark
ad3d361f76 add the syscall and create a test 2019-02-22 12:32:14 -08:00
Mackenzie Clark
a6d72bdec9
more emscripten stubs and urandom hack (#199) 2019-02-22 10:42:38 -08:00
Lachlan Sneff
2234f357b7
Merge branch 'master' into feature/cache-rework 2019-02-21 11:54:57 -08:00
Lachlan Sneff
9f40eedba8 Get caching working again 2019-02-20 16:41:41 -08:00
Mackenzie Clark
1a951a9abf
stub wasm32-unknown-emscripten target imports (#193) 2019-02-20 14:05:12 -08:00
David McNeil
a9b1c6c85e Fix emscripten environment (#172)
Dynamically determine abortOnCannotGrowMemory and add
_emscripten_get_heap_size and _emscripten_resize_heap
2019-02-16 15:01:01 -07:00
Syrus
f52c4ce5cc Merge branch 'master' into feature/ctx-first-arg 2019-02-12 10:28:25 -08:00
Syrus
6c7fd55b87 Moved ctx to be the first argument in emscripten 2019-02-09 13:58:18 -08:00
Mackenzie Clark
4ef7dc339c
optimize imports (#170) 2019-02-09 13:31:28 -08:00
Mackenzie Clark
e7c3b99ba9
add lua integration test (#109) 2019-02-08 17:47:51 -08:00
Mackenzie Clark
9a56680281
fix windows linking and appveyor build (#166) 2019-02-08 13:51:29 -08:00
Lachlan Sneff
4e1bc483a8
Fix emscripten setup, nginx works (#165)
* Fix emscripten setup, nginx works

* Remove commented-out code

* Re-enable nginx integration test
2019-02-08 10:55:32 -08:00
Mackenzie Clark
9719781eee create platform mods for syscalls and stub for windows (#161)
* create platform mods for syscalls and stub for windows

* missing constants and duplicate use statements
2019-02-07 16:56:44 -08:00
Mackenzie Clark
f8e2b25137
consolidate shared functions and optimize use statements (#159) 2019-02-07 15:24:22 -08:00
Mackenzie Clark
25d438f346
create an alias for pid_t which does not exist on libc windows (#160) 2019-02-07 15:12:27 -08:00