Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PR to 9fc93a4 #2

Merged
merged 644 commits into from
Jan 23, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
644 commits
Select commit Hold shift + click to select a range
ece010e
lucet-idl: moved half of datatype validation & layout code to new side
Jul 30, 2019
bced904
lucet-idl: datatype validation & layout calculated in new stuff
Jul 31, 2019
0ff7b5e
lucet-idl: port in func validator
Jul 31, 2019
113a619
lucet-idl: factor module names into their own validator
Jul 31, 2019
b456836
lucet-idl: port module datatype tests into new code
Jul 31, 2019
9b59f9a
lucet-idl: build out cursor, module validation for funcs
Aug 1, 2019
e898f5d
lucet-idl: finish up module tests in env
Aug 1, 2019
f24c07d
lucet-idl: add package-level validation and tests to new side
Aug 1, 2019
5671656
lucet-idl: move new repr/cursor stuff to root of crate. codegen disab…
Aug 1, 2019
63183b6
lucet-idl: a PackageRepr is a Package now
Aug 1, 2019
58c0964
lucet-idl: c generator turned on again
Aug 2, 2019
42765e3
lucet-idl: build out idiomatic func defintion in C!
Aug 2, 2019
58bf026
lucet-idl: rust datatypes are generated
Aug 3, 2019
d56b97c
lucet-idl: add rust guest abi import
Aug 4, 2019
7fdbf8b
lucet-idl: rust backend ported to new cursors
Aug 5, 2019
f8e44e1
lucet-idl-test: fixup most issues
Aug 6, 2019
2fad163
lucet-idl: move atomtype/abitype parsing from lexer to validator
Aug 6, 2019
29dd8a4
lucet-idl: parse tree uses &'syntax str rather than String
Aug 6, 2019
5837bbc
lucet-idl: reject out-slice bindings
Aug 6, 2019
445710e
lucet-idl: refactor rust backend to be more reasonable
Aug 7, 2019
bf34788
lucet-idl-test: render harnesses for both rust guest and host
Aug 8, 2019
caf1c2b
bump cargo.lock
Aug 8, 2019
a8a4773
lucet-idl-test: many fixes, very nearly works
Aug 8, 2019
f49c592
lucet-idl-test: fix testing! we can now round-trip test the example i…
Aug 9, 2019
6877d4b
lucet-idl: get rid of `io` binding syntax, just support `inout`
Aug 21, 2019
09d5f24
lucet-idl: only derive Eq and Ord on structs that do not contain floats
Aug 21, 2019
ca665b7
lucet-idl: simplification in parser for func return value / whereclauses
Aug 21, 2019
07468d2
lucet-idl: explain c backend unreachable
Aug 21, 2019
47d9fc9
lucet-idl: make all of the cursor structs Copy
Aug 21, 2019
0c9d2a2
lucet-idl: use a while let
Aug 21, 2019
058c629
lucet-idl: host func name is a rust-specific thing
Aug 21, 2019
ecd767c
lucet-idl: validationerror derives Fail
Aug 21, 2019
7cdd10d
lucet-idl: prelude tests use PackageBuilder
Aug 21, 2019
a3b3b80
lucet-idl: derive default unless contains enum
Aug 21, 2019
29470ef
lucet-idl: use MaybeUninit instead of null for struct member offset a…
Aug 21, 2019
8fa1a7c
lucet-idl: get rid of Deref impls of Datatype
Aug 21, 2019
a46ada2
lucet-idl: many code review fixes
Aug 21, 2019
d7e54c6
delete empty file
Aug 21, 2019
89852bf
lucet-idl: get rid of tons of unnecessary refs/clones of Location
Aug 21, 2019
40f7b89
lucet-idl: fixup atom/abi relationships
Aug 21, 2019
05ee44d
lucet-idl: fix error messages in binding validation tests
Aug 21, 2019
35704e1
lucet-idl-test: fix stub
Aug 26, 2019
8110462
lucet-idl-test: fixes
Aug 26, 2019
18d67c8
lucet-idl: separate parse trees for package-level and syntax-level decls
Aug 26, 2019
d482c7e
lucet-idl: finish fixing parser split-up
Aug 27, 2019
036352d
lucet-idl-test: split test plan into separate module; fixes
Aug 27, 2019
f69152a
lucet-idl: render rust cast to boolean as != 0
Aug 27, 2019
8f03eb0
lucet-idl-test: implement trivial test plan
Aug 27, 2019
624ae0a
lucet-idl: func validator review comments
Aug 27, 2019
5a886dd
lucet-idl: proptest found bug in parser :)
Aug 27, 2019
9bf0ee6
bump cargo.lock
Aug 27, 2019
8891699
Merge pull request #235 from fastly/pch/lucet-idl-func-abi
Aug 27, 2019
13f4c6d
Update the bincode crate to version 1.1 (#274)
jedisct1 Sep 4, 2019
1b9f0ec
delete faerie submodule
Sep 4, 2019
6fd3066
upgrade to faerie 0.11, and latest cranelift, target-lexicon, wasmpar…
Sep 5, 2019
17eccea
Merge pull request #284 from fastly/pch/faerie_0.11.0
Sep 6, 2019
043ad6f
cargo install with debug to avoid full release build times
awortman-fastly Sep 5, 2019
0747b73
Fixes #288 - Remove cranelift-codegen from the dependencies of the lu…
shravanrn Sep 9, 2019
f495487
Merge pull request #289 from PLSysSec/remove_runtime_cranelift
Sep 9, 2019
17ba0ae
Fix a few typos
ggreif Sep 10, 2019
129c8cd
Merge pull request #292 from ggreif/master
Sep 11, 2019
5215f8a
lucet-idl: parse and validate `witx` format (#275)
Sep 11, 2019
0d73d29
split lucet-idl and witx-frontend into two separate crates
Sep 12, 2019
f2bc665
Exit dev shell scripts on first command exiting with non-zero return …
ekilmer Sep 14, 2019
8639967
Merge pull request #296 from fastly/pch/witx_crate
Sep 14, 2019
0ad737c
add version info to modules
awortman-fastly Sep 11, 2019
eca48fb
review comments
awortman-fastly Sep 13, 2019
b905c44
Fixes #299 - WasiCtx should open dev/null read write (#302)
shravanrn Sep 17, 2019
bb5b1d1
need to go through the ELF view to read the tables slice too
awortman-fastly Sep 19, 2019
0b7598b
add a CallStackBuilder abstraction to tease apart Context::init
awortman-fastly Sep 19, 2019
6f29071
upgrade to cranelift 0.43.1, wasmparser 0.39.1
Sep 20, 2019
8bab844
cranelift 0.44.0
Sep 25, 2019
f50f934
lucet-benchmarks: use module-level constant to explicitly pin OptLevel
Sep 25, 2019
d2de98d
Merge pull request #308 from fastly/pch/wasmparser_39
Sep 25, 2019
cffa6ca
upgrade to cranelift 0.43.1, wasmparser 0.39.1
Sep 20, 2019
e8b5438
lucet-validate: initial commit
Sep 19, 2019
fc0ff99
lucet-validate: build up moduletype from parser
Sep 20, 2019
964be26
lucet-validate: print out type sig of all imports, start func sig
Sep 20, 2019
915dcb8
lucet-validate: better api to witx crate is in a branch
Sep 20, 2019
4db9d49
lucet-validate: calculate module type of InterfaceFunc
Sep 23, 2019
029e89e
lucet-validate: use release of wasmparser 0.39.1
Sep 24, 2019
d9a91f7
lucet-validate: parse module type of wasi sdk test program
Sep 24, 2019
ff6cf4e
lucet-validate: use wasi crate to validate against spec
Sep 25, 2019
2532f94
lucet-validate: cranelift 0.44.0
Sep 25, 2019
8f44983
lucet-wasi-sdk: correct signature of `main` in test c code
Sep 25, 2019
0ee27be
lucet-validate: use witx spec from WASI repo as a submodule
Sep 25, 2019
5f282e3
lucet-validate: wip... starting to validate sigs against witx
Sep 26, 2019
7f99ccf
lucet-validate: all lucet-wasi test cases now validate
Sep 26, 2019
2320b5b
move the stack guard page between the stack and heap
awortman-fastly Sep 26, 2019
18b4c42
adjust signal handler to not always be so stack-hungry
awortman-fastly Sep 26, 2019
e8a442e
switch sigprocmask to pthread_sigmask
acfoltzer Sep 27, 2019
724bf32
switch to nightly-2019-09-25, the most recent with all components
acfoltzer Sep 18, 2019
571303e
Merge pull request #314 from fastly/acf/pthread_sigmask
acfoltzer Sep 27, 2019
a7dee89
lucet-validate: witx_moduletype is now part of witx crate
Sep 28, 2019
b812e0f
makefile: add lucet-validate to tests
Sep 28, 2019
2816636
Merge pull request #315 from fastly/acf/nightly
acfoltzer Sep 30, 2019
9ca8de9
lucet-validate: latest witx branch, where module types renamed core t…
Sep 30, 2019
a991bb1
use goblin 0.0.24 everywhere
Sep 30, 2019
453b756
Merge pull request #318 from fastly/pch/oshi_looks_like_a_goblin
Oct 1, 2019
8b17568
[lucet-idl] parameterize C test with `WASI_SDK` env var
acfoltzer Oct 1, 2019
5129968
use lucet-validate in lucetc
Oct 1, 2019
4ec34f6
Merge pull request #319 from fastly/acf/lucet-idl-test-wasi-sdk
acfoltzer Oct 1, 2019
bbc19a6
lucetc: use lucet-validate Validator
Oct 1, 2019
d4804f7
changes to lucetc threaded throughout repo
Oct 2, 2019
d8dbd85
delete witx-frontend: subsumed by wasi repo
Oct 2, 2019
bfd8883
upgrade to witx 0.3.0
Oct 2, 2019
75b83e9
delete lucet-validate's wasi-sdk test: that testis now inside lucet-w…
Oct 2, 2019
a0f51f3
lucet-validate: test harness uses new api
Oct 2, 2019
5e2b601
Make WASI `poll` test more deterministic, but disable pending debuggi…
acfoltzer Oct 3, 2019
90ee1d3
address review comments
Oct 3, 2019
263c898
lucet-validate: add readme
Oct 4, 2019
bca5f69
Merge pull request #309 from fastly/pch/validate_against_witx
Oct 4, 2019
30fe754
[lucet-validate] ignore non-c/wat files rather than failing test
acfoltzer Oct 4, 2019
3f92f4a
Merge pull request #321 from fastly/acf/less-crashy-validation-test
acfoltzer Oct 8, 2019
e0922fe
package lucet-validate, including wasi unstable witx
acfoltzer Oct 8, 2019
51d0dd4
Merge pull request #324 from fastly/acf/package-lucet-validate
acfoltzer Oct 8, 2019
4da9292
rename `lucet-analyze->lucet-objdump`; add debs for it and `lucetc`
acfoltzer Oct 8, 2019
518562a
Merge pull request #325 from fastly/acf/rename-and-package
acfoltzer Oct 8, 2019
79bd885
skip Lucet build in the container step on travis
acfoltzer Oct 10, 2019
3b6505d
Merge pull request #327 from fastly/acf/speed-up-travis
acfoltzer Oct 10, 2019
e85695c
0.2.0
awortman-fastly Oct 9, 2019
05f7a33
make bump-global-version.sh gnu sed-friendly
awortman-fastly Oct 9, 2019
b2e4c4e
lucetc: fix --opt-level {none, speed, speed_and_size} (#328)
jedisct1 Oct 11, 2019
5782846
cargo publish requires versions on dev dependencies to publish
awortman-fastly Oct 11, 2019
241f232
lucet-wasi/README.md doesn't exist any more, don't try to install it …
jedisct1 Oct 11, 2019
f9e13e0
dockerfile: use wask-sdk 7
Oct 11, 2019
df2932d
lucet-wasi-sdk: fix test to reflect behavior of clang-9
Oct 11, 2019
dce0ae4
the runtime's module version check was restrictive enough to be annoying
awortman-fastly Oct 11, 2019
63cd5d4
grammar
awortman-fastly Oct 11, 2019
b429b67
rustfmt
awortman-fastly Oct 11, 2019
1d96133
Merge pull request #332 from fastly/pch/wasi_sdk_7
Oct 13, 2019
91caead
configure CI using Github Actions
Oct 11, 2019
e6e71b0
Merge pull request #331 from fastly/pch/github-actions
Oct 14, 2019
4af5e5c
bump lucet crates to 0.2.1
awortman-fastly Oct 12, 2019
d08f83e
Improve lucetc error messages (#269)
awortman-fastly Oct 16, 2019
28c5d3a
Timeouts (#150)
tyler Oct 17, 2019
d8e52f1
[lucetc] add very basic JSON formatting for errors
acfoltzer Oct 17, 2019
34c4bcc
[lucet-runtime] relax unnecessary restrictions on some functions
acfoltzer Oct 17, 2019
481f4f9
Merge pull request #335 from fastly/acf/lucetc-json-errors
acfoltzer Oct 17, 2019
abdd42b
tests run again
acfoltzer Oct 17, 2019
82bcc68
fix the number of magic globals that wasi-sdk clang creates
acfoltzer Oct 17, 2019
69a86ef
fix lucet-wasi-sdk test for wask-sdk-7
Oct 17, 2019
a9c42f8
Merge pull request #337 from fastly/acf/tests-run-again
Oct 18, 2019
9665cf2
Merge pull request #336 from fastly/acf/loosen-type-restrictions
acfoltzer Oct 18, 2019
fac8ee5
allow KillState's `exit_guest_region` to be name-mangled
awortman-fastly Oct 18, 2019
ebf4f51
Bump versions to 0.3.0 (#340)
awortman-fastly Oct 18, 2019
d445687
[lucet-runtime] add `is_yielded`, etc methods for instances
acfoltzer Oct 21, 2019
3a47eb4
[lucetc] json errors report as an array to support multiple errors
acfoltzer Oct 21, 2019
27fb75c
Merge pull request #341 from fastly/acf/instance-state-methods
acfoltzer Oct 21, 2019
1da70d2
add (currently-failing) test for moving yielded instances
acfoltzer Oct 22, 2019
de717d5
fix the sending-yielded-instances bug in horrendous fashion
acfoltzer Oct 22, 2019
5c4d5b2
move guest data from the guest stack to Instance
awortman-fastly Oct 23, 2019
9c6a65f
run the benchmarks in debug mode for `make test`
acfoltzer Oct 23, 2019
5cb17c7
[lucet-runtime-internals] refactor guest-specific context data
acfoltzer Oct 23, 2019
7b02d08
[lucet-benchmarks] slightly simplify a setup iter
acfoltzer Oct 23, 2019
513b5b3
Merge pull request #342 from fastly/acf/send-yielded
acfoltzer Oct 23, 2019
30970e4
bump crate versions to 0.3.1
acfoltzer Oct 23, 2019
61c6384
Merge pull request #343 from fastly/0.3.1
acfoltzer Oct 23, 2019
e1aa4e1
[lucetc] restore output for the underlying cause of `lucetc::Error`s
acfoltzer Oct 29, 2019
927d21d
Merge pull request #345 from fastly/acf/fix-error-output
acfoltzer Oct 29, 2019
1337ed6
update cranelift to current master (0.46.1)
acfoltzer Oct 30, 2019
6f093ac
delete .travis.yml
Oct 30, 2019
f38b234
Merge pull request #348 from fastly/pch/death_by_private_equity
Oct 30, 2019
67f0ec0
[lucetc] add CPU feature flags for code generation
acfoltzer Oct 30, 2019
2fd2236
[lucetc] add `native` and `sandybridge` CPU profiles
acfoltzer Oct 30, 2019
d459b70
fix rustfmt
acfoltzer Oct 31, 2019
42c036b
Merge pull request #347 from fastly/acf/target-cpu
acfoltzer Oct 31, 2019
d0ddb48
crank up the fuzz
acfoltzer Oct 31, 2019
0ce04b8
Merge pull request #350 from fastly/acf/more-fuzz
acfoltzer Oct 31, 2019
b9b27d3
Include CPU features in module data (#351)
awortman-fastly Oct 31, 2019
588b899
bump to 0.4.0
acfoltzer Oct 31, 2019
3059fbb
Merge pull request #352 from fastly/acf/0.4.0
acfoltzer Oct 31, 2019
72a691e
Use app_from_crate!() instead of hardcoding clap base parameters
jedisct1 Oct 31, 2019
28d7cd9
Add include_str!("Cargo.toml") to update macros if Cargo.toml changes
jedisct1 Oct 31, 2019
4d12bc6
bump to 0.4.1 and refine some dependencies
acfoltzer Oct 31, 2019
24df40c
Merge pull request #355 from fastly/acf/0.4.1
acfoltzer Nov 1, 2019
4b949a7
Merge pull request #354 from fastly/fdenis/app_from_crate
acfoltzer Nov 1, 2019
ed1bb39
use crates.io version of wasmonkey, and fix parity-wasm version
acfoltzer Nov 1, 2019
d323103
Merge pull request #356 from fastly/acf/wasmonkey-from-crates
acfoltzer Nov 1, 2019
42f6015
Replace lucet-wasi with wasi-common + lucet wrappers
jedisct1 Sep 12, 2019
e43d247
lucet-wasi: use pch/working branch of wasi-common
Oct 25, 2019
74f6a61
lucet-wasi: export our own __wasi_exitcode_t alias, use master upstream
Oct 29, 2019
5d31c38
lucet-wasi: re-export wasi-common's error
Oct 29, 2019
5b0265a
lucet-wasi: export start symbol
Nov 1, 2019
07cbd03
use nix 0.15 everywhere
Nov 1, 2019
5a4d8cd
latest wasi-common master
Nov 4, 2019
38cb83f
pin wasi-common to f4ac1299b2001b575cfc99f5544a4a96355a6bff in cargo.…
Nov 5, 2019
66bb91f
Apply suggestions from code review
Nov 5, 2019
cbbd0b5
Merge pull request #344 from fastly/pch/wasi-common
Nov 5, 2019
2629f3c
heap_u32_mut: require a mutable heap (#359)
jedisct1 Nov 8, 2019
b718d09
replace lucet_runtime ensure_linked in lucet-wasi
awortman-fastly Nov 11, 2019
f46d7a8
Make it a Bytecode Alliance project
tschneidereit Nov 12, 2019
5962e80
Merge pull request #363 from tschneidereit/master
tyler Nov 12, 2019
5684d11
read function names from custom name section
data-pup Nov 20, 2019
fa59741
minor grammar fix in runtime docs
data-pup Nov 25, 2019
e9c108a
Merge pull request #367 from data-pup/runtime-doc-grammar
data-pup Nov 25, 2019
5b1b33b
specify signature size for module data
data-pup Nov 25, 2019
d9982c2
Merge pull request #369 from data-pup/everybody-loves-array-sized
data-pup Nov 26, 2019
380d0e4
pr review: use exported names
data-pup Nov 26, 2019
5298634
pr review: use SecondaryMap for names
data-pup Nov 26, 2019
1c149f3
delete lucet-idl. superceded by witx
Nov 26, 2019
ebf21f1
remove lucet-idl from bump-global-version
Nov 26, 2019
904f351
Merge pull request #370 from bytecodealliance/pch/rip_in_peace_lucet_idl
Nov 26, 2019
d4f3e3b
add `#[lucet_hostcall]` attr macro; deprecate `lucet_hostcalls!`
acfoltzer Nov 25, 2019
1951513
bump to 0.4.2
acfoltzer Nov 25, 2019
62d6841
redefine `lucet_hostcalls!` in terms of `#[lucet_hostcall]`
acfoltzer Nov 25, 2019
a6db2c0
remove some unnecessary cloning in `#[lucet_hostcall]`
acfoltzer Nov 25, 2019
f076955
use `lucet_runtime` rather than `$crate` in `lucet_hostcalls!`
acfoltzer Nov 25, 2019
8dd222e
Merge pull request #368 from bytecodealliance/acf/hostcall-proc-macro
acfoltzer Nov 26, 2019
5f2742c
upgrade cranelift, wasi-common, witx deps, and friends
Nov 26, 2019
02e24fc
Merge remote-tracking branch 'origin/master' into pch/big_dep_upgrade
Nov 26, 2019
97c0097
lucet-validate: correct deb paths
Nov 26, 2019
28acfe5
CI testing: add cargo-deb packaging
Nov 26, 2019
40577b4
CI: run `make package` on a parallel runner, so CI doesnt get longer
Nov 26, 2019
ad1e6a4
Merge pull request #371 from bytecodealliance/pch/big_dep_upgrade
Nov 27, 2019
4c75de4
Merge pull request #366 from data-pup/that-which-we-call-a-rose
data-pup Nov 27, 2019
6a7fbf9
Use actions/checkout@v1 to support submodules checkout
Dec 3, 2019
a44e34e
Merge pull request #373 from kubkon/checkout-v1
Dec 3, 2019
680e61e
show unsupported global import in error message
data-pup Dec 13, 2019
22fd235
misc. instance lints
data-pup Dec 13, 2019
0c4f0a3
Merge pull request #377 from data-pup/show-global-import-in-error
data-pup Dec 13, 2019
085146d
Merge pull request #376 from data-pup/misc-instance-lints
data-pup Dec 13, 2019
657cbd5
replace empty constructor w/ default impl
data-pup Dec 13, 2019
3df7ccf
we can derive default
data-pup Dec 13, 2019
5a92388
keep `new()` but defined in terms of default
data-pup Dec 13, 2019
86b00ea
Make yield methods take `&mut Vmctx`; update semver
acfoltzer Dec 16, 2019
6b9c559
Merge pull request #379 from bytecodealliance/acf/safer-yield
acfoltzer Dec 16, 2019
85c50b5
Fixes #276 - Allow use of aligned heaps
shravanrn Sep 6, 2019
7616982
add blank rustfmt config file
data-pup Dec 18, 2019
5746e21
Merge pull request #286 from PLSysSec/aligned_heap
Dec 18, 2019
a765d70
Merge pull request #380 from data-pup/add-empty-rustfmt-config
data-pup Dec 18, 2019
d3a1377
into_iter() -> iter() for arrays (#382)
jedisct1 Dec 20, 2019
9239c97
switch rustc version back to stable; add note about callback safety
acfoltzer Jan 6, 2020
809ba7a
add `make test-full` target; make `test` more focused
acfoltzer Jan 6, 2020
1889b11
Merge pull request #383 from bytecodealliance/acf/gardening
acfoltzer Jan 6, 2020
800d02e
clean up symbol data code
data-pup Jan 9, 2020
4c7d5db
move bindings tests into file in tests/
data-pup Jan 9, 2020
6ee788b
fix test assertion
data-pup Jan 9, 2020
468f6ef
Merge pull request #385 from data-pup/module-signature-cleanup
data-pup Jan 10, 2020
4b59161
Merge pull request #386 from data-pup/module-bindings-tests
data-pup Jan 10, 2020
4e89abe
ModuleDecls cleanup (#391)
data-pup Jan 15, 2020
b60dc3c
add `--target` option to lucetc
froydnj Jan 14, 2020
0bd116d
[lucet-runtime] export the `KillSwitch` type from the public API
acfoltzer Jan 17, 2020
78f7f32
Merge pull request #395 from bytecodealliance/acf/expose-kill-switch
acfoltzer Jan 17, 2020
f25535e
Merge pull request #378 from data-pup/embed-ctx-default
iximeow Jan 21, 2020
8796798
Merge pull request #390 from froydnj/target-for-cpu-features
Jan 21, 2020
628edf6
Fixes #357: Migrate from using the failure to thiserror + anyhow. (#…
fst-crenshaw Jan 22, 2020
efb6d57
use exact dependencies for crates within the repo
acfoltzer Jan 22, 2020
08a10ca
Fix bad merge in cpu_features.rs. ISA lookup must be invoked on targe…
fst-crenshaw Jan 22, 2020
9fc93a4
Merge pull request #400 from bytecodealliance/acf/exact-internal-deps
acfoltzer Jan 23, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .cargo/config
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
[build]
rustflags = ["-C", "link-args=-Wl,--export-dynamic"]
rustflags = ["-C", "link-args=-rdynamic"]
2 changes: 1 addition & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
@@ -1 +1 @@
target
*
12 changes: 12 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true

[Makefile]
indent_style = tab
8 changes: 8 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Auto detect text and normalize to LF on commit regardless of "core.autocrlf".
# See: https://help.github.com/en/articles/dealing-with-line-endings#example
* text=auto eol=lf

# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
*.wasm binary
18 changes: 18 additions & 0 deletions .github/actions/test/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: 'Test Lucet'
description: 'run tests using standardized lucet development environment'
inputs:
target:
description: "Makefile target to execute"
required: true
runs:
using: 'docker'
image: '../../../Dockerfile'
# The Dockerfile does not specify an entrypoint.
entrypoint: "/bin/sh"
args:
# Next arg is a command for sh to execute.
- '-c'
# rustup expects $HOME to be set to /root during `docker run` because thats what
# it was set to during container creation. Actions clears $HOME so we set it here.
# The test target of the Makefile is our standard CI.
- 'export HOME=/root; make ${{ inputs.target }}'
50 changes: 50 additions & 0 deletions .github/workflows/fuzz.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Fuzz
on:
schedule:
- cron: "0 0 * * *"

jobs:
fuzz:
name: Fuzz lucet-wasi

runs-on: ubuntu-16.04
steps:
- uses: actions/checkout@v1
with:
submodules: true

- name: Install Rust (rustup)
run: rustup update

- name: Install wasi-sdk (ubuntu)
run: |
curl -sS -L -O https://github.com/CraneStation/wasi-sdk/releases/download/wasi-sdk-7/wasi-sdk_7.0_amd64.deb
sudo dpkg -i wasi-sdk_7.0_amd64.deb

- name: Install native clang, csmith tools
run: |
sudo apt-get install -y --no-install-recommends \
software-properties-common \
clang-6.0 \
gcc-multilib \
csmith \
libcsmith-dev \
creduce
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-6.0 100

- name: Build Binaryen tools
run: |
curl -sS -L "https://github.com/WebAssembly/binaryen/archive/version_${BINARYEN_VERSION}.tar.gz" | tar xzf -
mkdir -p binaryen-build
cd binaryen-build && cmake "../binaryen-version_${BINARYEN_VERSION}" && make wasm-opt wasm-reduce
echo "##[add-path]$PWD/binaryen-build/bin"
env:
BINARYEN_VERSION: 86

- name: Test lucet-wasi-fuzz with known seed
run: make test-fuzz

- name: Fuzz
env:
FUZZ_NUM_TESTS: 100000
run: make fuzz
29 changes: 29 additions & 0 deletions .github/workflows/mac-ci.yml.disabled
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Mac OS CI
on: [push, pull_request]

jobs:
test:
name: Test
runs-on: macos-latest
steps:
- uses: actions/checkout@master
with:
submodules: true

- name: Install Rust (macos)
run: |
curl https://sh.rustup.rs | sh -s -- -y
rustup update
echo "##[add-path]$HOME/.cargo/bin"

- name: Install wasi-sdk (macos)
run: |
curl -sS -L -O https://github.com/CraneStation/wasi-sdk/releases/download/wasi-sdk-7/wasi-sdk-7.0-macos.tar.gz
tar xf wasi-sdk-7.0-macos.tar.gz
sudo mv wasi-sdk-7.0/opt /opt

- name: Test Lucet
run: make test-except-fuzz

- name: Ensure testing did not change sources
run: git diff --exit-code
51 changes: 51 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: CI
on: [push, pull_request]

jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
submodules: true

# Testing uses the development environment Docker container.
# This action builds the container and executes the test suite inside it.
- uses: ./.github/actions/test
with:
target: test-full

- name: Ensure testing did not change sources
run: git diff --exit-code

package:
name: Package
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
submodules: true

# Testing uses the development environment Docker container.
# This action builds the container and executes the test suite inside it.
- uses: ./.github/actions/test
with:
target: package

- name: Ensure testing did not change sources
run: git diff --exit-code


rustfmt:
name: Rustfmt
runs-on: ubuntu-16.04
steps:
- uses: actions/checkout@v1
with:
submodules: true
- name: Install Rust (rustup)
run: |
rustup update
rustup component add rustfmt
- run: make indent-check
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
target/
*.rs.bk
*.pyc
host

# devenv-installed directory
/host

core.*
9 changes: 3 additions & 6 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
[submodule "cranelift"]
path = cranelift
url = https://github.com/cranestation/cranelift
[submodule "faerie"]
path = faerie
url = https://github.com/m4b/faerie
[submodule "lucet-spectest/spec"]
path = lucet-spectest/spec
url = https://github.com/webassembly/spec
[submodule "pwasm-validation"]
path = pwasm-validation
url = https://github.com/pchickey/pwasm-validator
[submodule "sightglass"]
path = sightglass
url = https://github.com/fastly/sightglass
[submodule "wasi"]
path = wasi
url = https://github.com/webassembly/wasi
1 change: 1 addition & 0 deletions .rustfmt.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# This file tells tools we use rustfmt. We use the default settings.
18 changes: 0 additions & 18 deletions .travis.yml

This file was deleted.

58 changes: 15 additions & 43 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,14 @@
# Contributor Covenant Code of Conduct

*Note*: this Code of Conduct pertains to individuals' behavior. Please also see the [Organizational Code of Conduct][OCoC].

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:
Examples of behavior that contributes to creating a positive environment include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
Expand All @@ -22,56 +18,32 @@ include:

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at [email protected], or [email protected]
if the message is sensitive. All complaints will be reviewed and investigated
and will result in a response that is deemed necessary and appropriate to the
circumstances. The project team is obligated to maintain confidentiality with
regard to the reporter of an incident. Further details of specific enforcement
policies may be posted separately.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the Bytecode Alliance CoC team at [[email protected]](mailto:[email protected]). The CoC team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The CoC team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the Bytecode Alliance's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]

[OCoC]: ORG_CODE_OF_CONDUCT.md
[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq
[version]: https://www.contributor-covenant.org/version/1/4/
Loading