Commit Graph

889 Commits

Author SHA1 Message Date
Paweł Bylica dbfe9beb6c
ci: Use Circle CI 2.1, factor out main docker image 2019-06-26 14:31:11 +02:00
Alex Beregszaszi 9d3fc6fa21
Merge pull request #320 from ethereum/rustdoc
rust: add more comments/rustdoc
2019-06-25 20:20:38 +01:00
Alex Beregszaszi 092356dabb rust: add more comments/rustdoc 2019-06-25 20:15:26 +01:00
Alex Beregszaszi 88f2a1dae7
Merge pull request #324 from ethereum/rust-message
rust: introduce ExecutionMessage wrapper
2019-06-25 19:36:23 +01:00
Alex Beregszaszi 315137edd2 rust: prefer getters as opposed to pub members on structs 2019-06-25 19:14:42 +01:00
Alex Beregszaszi 31e6964b04 rust: introduce ExecutionMessage wrapper 2019-06-25 18:51:14 +01:00
Alex Beregszaszi e6eab307fd
Merge pull request #330 from ethereum/rust-container-deref
rust: implement Deref trait for EvmcContainer
2019-06-25 18:48:53 +01:00
Alex Beregszaszi beea4e31c9 rust: implement Deref trait for EvmcContainer 2019-06-25 12:36:04 +01:00
Alex Beregszaszi 32acbfac05
Merge pull request #328 from ethereum/rust-clippy
rust: fix some (mostly stylistic) warnings raised by rustc and clippy
2019-06-25 12:06:09 +01:00
Alex Beregszaszi 7769f7372b rust: fix some (mostly stylistic) warnings raised by rustc and clippy 2019-06-25 12:03:09 +01:00
Alex Beregszaszi 1f507f36f6
Merge pull request #323 from ethereum/rust-asan
circleci: use ASan for vmtester with rust
2019-06-19 21:09:08 +02:00
Jake Lang 244fed6ebc rust: Remove implicit crate version in order to allow static C strings 2019-06-19 19:39:51 +01:00
Alex Beregszaszi 1b1ea288a9 circleci: use ASan for vmtester with rust 2019-06-19 19:39:51 +01:00
Paweł Bylica 94fe0976e3
EVMC 6.3.0-alpha.1
Bump version: 6.3.0-alpha.0 → 6.3.0-alpha.1
2019-06-19 19:45:16 +02:00
Paweł Bylica 464e226f53
Change versioning scheme from -dev to -alpha.X
This allows making versioned snapshots as "alpha.X" pre-release versions.
2019-06-19 19:42:53 +02:00
Alex Beregszaszi 69fada8b55
Merge pull request #312 from ethereum/rust-san
Add LLVM sanitizers to Rust CI
2019-06-19 10:14:49 +02:00
Jake Lang 100282951e rust: Add leak sanitizer to Rust CI
Only support cargo test, but not vmtester yet.
2019-06-19 02:20:12 +01:00
Alex Beregszaszi ac16343b1c
Merge pull request #322 from ethereum/rust-dylib
rust: compile examples for cdylib and not dylib
2019-06-19 03:13:58 +02:00
Alex Beregszaszi 73951327ba rust: compile examples for cdylib and not dylib
This avoids the issue of depending on a dynamically linked rust-libstd
2019-06-19 02:09:20 +01:00
Alex Beregszaszi ef2e180dfd circleci: remove Rust libstd workaround from vmtester 2019-06-19 02:06:46 +01:00
Jake Lang 51a123118d
Merge pull request #321 from ethereum/rust-bindgen
Update rust-bindgen to 0.49.2
2019-06-13 19:32:32 +02:00
Alex Beregszaszi 1fb372ea3e Update rust-bindgen to 0.49.2 2019-06-13 11:16:21 +02:00
Alex Beregszaszi 98f43fd9b8
Merge pull request #314 from ethereum/rust-memleak
Rust: Fix leaks in unit tests
2019-06-13 10:49:16 +02:00
Jake Lang dab2b2c57e rust: Fix false positives in sanitizers
Also fix some actual memory leak in the tests.
2019-06-13 10:43:42 +02:00
Alex Beregszaszi 9b2de67eda
Merge pull request #316 from ethereum/rust-panic
rust: unwind execution panics in evmc-declare
2019-06-06 13:27:37 +01:00
Alex Beregszaszi 4d07d1a340 rust: unwind execution panics in evmc-declare 2019-06-06 11:42:03 +02:00
Alex Beregszaszi 199140cb35
Merge pull request #315 from ethereum/rust-precompiles
rust: add support for the precompiles capability
2019-06-06 10:40:07 +01:00
Alex Beregszaszi fbba2538e1 rust: add support for the precompiles capability 2019-06-06 00:26:48 +02:00
Paweł Bylica 1b6158349b
Merge pull request #311 from ethereum/loader_error_code
loader: Make error_code in evmc_load_and_create() optional
2019-06-05 16:17:17 +02:00
Paweł Bylica 48c91a5bcb
Add CHANGELOG entry
Changed: In `evmc_load_and_create()` the `error_code` is optional (can be `NULL`).
2019-06-05 16:07:50 +02:00
Paweł Bylica d88aa9ada4
loader: Update documentation 2019-06-05 16:07:50 +02:00
Paweł Bylica 81db59cede
loader: Make error_code in evmc_load_and_create() optional 2019-06-05 16:07:49 +02:00
Jake Lang 9510206aa1
Merge pull request #262 from ethereum/rust-proc-macro
Rust: Attribute-style procedural macro to generate EVMC FFI code with user-defined data
2019-06-04 17:36:07 +02:00
Jake Lang 2e14aa2d5c rust: Procedural macro for automatic VM declaration 2019-06-04 16:18:23 +01:00
Alex Beregszaszi d7c6d08947
Merge pull request #283 from ethereum/test-precompiles
tests: add test case for precompile implementation
2019-06-03 09:30:56 +01:00
Alex Beregszaszi 4da65048a4 tests: precompile test doesn't needs a host context 2019-06-03 09:26:37 +01:00
Alex Beregszaszi 32fce24aa8 examples: use EVMC_REJECTED in example_precompiles_vm 2019-06-03 09:26:37 +01:00
Alex Beregszaszi 42f8d2522f tests: add test case for precompile implementation 2019-06-03 09:26:37 +01:00
Paweł Bylica 0f2416da0c
Merge pull request #307 from ethereum/loader_strcpy_s
loader: Fix strcpy_s()
2019-05-31 12:28:02 +02:00
Paweł Bylica 8c3b3e61e6
loader: Change strcpy_sx() to be limited version of strcpy_s()
The strcpy_sx() now reports errors and behaves as strcpy_s() when buffer is too small (nulls the buffer). But it does not have all the checks.
2019-05-31 08:15:17 +02:00
Paweł Bylica 5757da5859
loader: Expose strcpy_sx() for testing 2019-05-31 08:15:17 +02:00
Paweł Bylica 2de1f81c72
loader: Rename strcpy_s() implementation to strcpy_sx()
The implementation strcpy_s() in loader is wrong (to be fixed) and limited in comparison to strcpy_s() spec. Rename it to strcpy_sx() to indicate it is not the one from standard library.
2019-05-31 08:15:16 +02:00
Alex Beregszaszi f12ea3d2e3
Merge pull request #297 from ethereum/rust-result
rust: add failure() and success() helpers to ExecutionResult
2019-05-30 15:39:07 +01:00
Alex Beregszaszi 4eeb42d074 rust: add failure() and success() helpers to ExecutionResult 2019-05-30 14:55:25 +01:00
Alex Beregszaszi 80f99dfe6b examples: Remove explicit namespace in rust-example-vm 2019-05-30 14:55:25 +01:00
Paweł Bylica 1ca32bf17e
Merge pull request #306 from ethereum/fix-loader
loader: Destroy VM with incompatible ABI
2019-05-30 15:31:02 +02:00
Paweł Bylica b0133730be
Add CHANGELOG entry about the fix in loader 2019-05-30 14:25:55 +02:00
Paweł Bylica 7b02081f2e
loader: Destroy VM with incompatible ABI
When a VM is loaded but turns out is has incompatible ABI version it should be destroyed before reporting the loading error and returning a null handle.

Fixes https://github.com/ethereum/evmc/issues/305
2019-05-30 14:21:04 +02:00
Paweł Bylica ba10da07d0
loader: Use new VM mock with wrong ABI version 2019-05-30 14:15:20 +02:00
Paweł Bylica 591ac7c3a8
loader: Add more interesting VM mocks for unit tests 2019-05-30 14:10:00 +02:00