Commit Graph

52 Commits

Author SHA1 Message Date
Ralf Jung
a312297973 adjust for FnAbi changes 2021-12-24 12:02:22 +01:00
Ralf Jung
a1233a721d adjust Miri to Pointer type overhaul 2021-07-16 10:10:12 +02:00
hyd-dev
9b2d42587f
unwind is no longer Option<BasicBlock> 2021-05-28 22:08:51 +08:00
Ralf Jung
4e231bab5e format much of Miri 2021-05-16 11:48:28 +02:00
Tomasz Miąsko
0eb341417c rustup to e7c23ab933 2021-02-20 00:00:00 +00:00
Nym Seddon
de4eea9d49
Add ABI check for shims 2021-01-27 22:32:25 +00:00
Aaron Hill
b89f6561e5
Move things around 2020-09-28 13:44:45 -04:00
Ralf Jung
d4e5943259 use real align_offset unless we symbolic alignment check is enabled 2020-08-16 18:26:04 +02:00
Philippe Nadon
5161ba346c renamed ScalarMaybeUninit::not_undef to check_init
Related to PR https://github.com/rust-lang/rust/pull/74664
2020-07-26 16:05:20 -06:00
Ralf Jung
e54619b5e1 with this, we support panics on Windows 2020-06-27 14:43:37 +02:00
Ralf Jung
af5887e869 module organization: move platform-specific code to shims::{posix::{linux, macos}, windows} 2020-06-27 13:22:49 +02:00
Chase Albert
78f329513a Check that shims are called with the correct number of arguments 2020-05-04 13:51:21 -04:00
Vytautas Astrauskas
44e9305599 Rename threads to thread to match the Rust standard library. 2020-04-27 14:26:36 -07:00
Vytautas Astrauskas
1f33f04fd4 Move pthread_create and related shims to a separate file. 2020-04-27 14:23:32 -07:00
Vytautas Astrauskas
5224c72403 Move the stack to the evaluator to make Miri compile with the newest Rustc. 2020-04-20 09:19:37 +02:00
David Cook
dd9896b0f8 Implement mutex and rwlock functions 2020-04-05 10:03:22 -05:00
Ralf Jung
8948a29a4c adjust for librustc rename; reduce 'extern crate' to rustc crates 2020-03-30 11:07:32 +02:00
Ralf Jung
f181e75db2 rustup 2020-03-29 10:01:31 +02:00
bors
7a5e95c9ac Auto merge of #1276 - RalfJung:scalar-precise-sizes, r=RalfJung
Construct Scalar with precise sizes
2020-03-28 18:16:13 +00:00
Ralf Jung
d6795a77b4 precise getrandom return type and align_offset arithmetic 2020-03-28 17:47:00 +01:00
Ralf Jung
fbbca59de7 avoid Scalar::from_(u)int in favor of giving the size explicitly 2020-03-28 17:35:40 +01:00
JOE1994
99600ba7a9 move OsStr helpers to a separate file 2020-03-28 10:43:47 -04:00
Ralf Jung
bde3111c61 test windows panic message 2020-03-21 10:17:57 +01:00
Ralf Jung
8b6af3eacb avoid using unchecked casts or arithmetic 2020-03-17 15:21:43 +01:00
Ralf Jung
8394456247 properly panic in panic_if_uninhabited and align_offset shims 2020-03-08 20:00:40 +01:00
Ralf Jung
148269dd4b finally stop using min/max_value and the integer modules 2020-03-04 13:01:06 +01:00
Oliver Scherer
7ead530841 Rustfmt all the things 2019-12-23 12:56:23 +01:00
Ralf Jung
67151a712d rustup 2019-12-08 10:32:50 +01:00
Ralf Jung
edac086f1c rustup for find_fn rename 2019-12-04 23:31:39 +01:00
Aaron Hill
a418fe9826
Rustup for BodyCache changes 2019-12-02 20:21:03 -05:00
Ralf Jung
824328c6d5 adjust for goto_block refactoring 2019-11-27 08:34:15 +01:00
Aaron Hill
08d3fbc76b
Support unwinding after a panic
Fixes #658

This commit adds support for unwinding after a panic. It requires a
companion rustc PR to be merged, in order for the necessary hooks to
work properly.

Currently implemented:
* Selecting between unwind/abort mode based on the rustc Session
* Properly popping off stack frames, unwinding back the caller
* Running 'unwind' blocks in Mir terminators

Not yet implemented:
* 'Abort' terminators

This PR was getting fairly large, so I decided to open it for review without
implementing 'Abort' terminator support. This could either be added on
to this PR, or merged separately.
2019-11-17 08:34:25 -05:00
Aaron Hill
cf5b53e52f
Rustup for panic changes
This gets Miri working again, but doesn't actually implement unwinding
2019-11-12 19:52:15 -05:00
Ralf Jung
37b1190def rustup 2019-11-08 22:07:52 +01:00
Yuki Okushi
a353e90eed Use memory field instead of memory() 2019-10-18 11:11:50 +09:00
Christian Poveda
8f4d185d1b Move time related functions to its own module 2019-10-11 11:39:31 -05:00
Christian Poveda
976c976f09 Rename shims::io to shims::fs 2019-10-11 01:49:28 -05:00
Christian Poveda
b540e5d24e Reserve fides for stdio and fix merge issues 2019-09-30 10:54:51 -05:00
Christian Poveda
79b1f91f45 First version of file handling 2019-09-25 01:17:18 -05:00
Christian Poveda
e2c54e64d1 Ignore integers 2019-09-22 21:39:17 -05:00
Christian Poveda
f736636038 Throw unsupported error when alignment is not a power of two 2019-09-22 20:56:48 -05:00
Christian Poveda
4a0b7446cf Move truncation from the main branch 2019-09-17 13:26:12 -05:00
Christian Poveda
881929f753 Add align_offset for integers 2019-09-17 11:47:01 -05:00
Christian Poveda
55863cb88e Use force_ptr instead of assert_ptr 2019-09-16 10:16:06 -05:00
Christian Poveda
fa20338c9a Use str::from_utf8 instead 2019-09-12 09:36:31 -05:00
Christian Poveda
62280b4b11 Use libcore's align_offset 2019-09-11 11:09:56 -05:00
Ralf Jung
3a68d943ba rustup 2019-08-27 08:32:31 +02:00
Christian Poveda
b731a6a15f Add support for env communication 2019-08-06 17:40:07 -05:00
Ralf Jung
2ca1b94e6d update to FnVal changes; implement basic Dlsym support and use it for getentropy 2019-07-06 10:07:21 +02:00
Ralf Jung
93c62a4912 move tls.rs into shims module 2019-07-03 23:12:44 +02:00