* (feat) Docker: Add Support for Running inside Docker Container
Uses Alpine image as base to have minimal size. 2-step build process to get rid of source and library files after compilation and during runtime. Uses Python3 HTTP Server to serve static assets.
Signed-off-by: Progyan Bhattacharya <bprogyan@gmail.com>
Without this patch, the following error is thrown:
rust-lld: error: --import-table and --export-table may not be used together
Tested on the following nightly versions:
rustc 1.30.0-nightly (7e8ca9f8b 2018-08-03)
rustc 1.30.0-nightly (33b923fd4 2018-08-18)
This commit contains the final changes requires for porting all C code
to Rust and from emscripten to llvm:
- tools/wasm-patch-indirect-function-table.js: A script that rewrites
the wasm generated by llvm to remove the table limit
- tools/rust-lld-wrapper: A wrapper around rust-lld that removes
arguments forced by rustc that break compilation for us
- src/rust/cpu2/Makefile: A monstrosity to postprocess c2rust's output
- gen/generate_interpreter.js: Ported to produce Rust instead of C
- src/rust/*: A few functions and macros to connect the old Rust code
and the new Rust code
- src/*.js: Removes the loading of the old emscripten wasm module and
adapts imports and exports from emscripten to llvm