miri/shims/mod.rs
1#![warn(clippy::arithmetic_side_effects)]
2
3mod aarch64;
4mod alloc;
5mod backtrace;
6mod files;
7#[cfg(unix)]
8mod native_lib;
9mod unix;
10mod wasi;
11mod windows;
12mod x86;
13
14pub mod env;
15pub mod extern_static;
16pub mod foreign_items;
17pub mod io_error;
18pub mod os_str;
19pub mod panic;
20pub mod time;
21pub mod tls;
22
23pub use self::files::FdTable;
24//#[cfg(target_os = "linux")]
25//pub use self::native_lib::trace::{init_sv, register_retcode_sv};
26pub use self::unix::{DirTable, EpollInterestTable};
27
28/// What needs to be done after emulating an item (a shim or an intrinsic) is done.
29pub enum EmulateItemResult {
30 /// The caller is expected to jump to the return block.
31 NeedsReturn,
32 /// The caller is expected to jump to the unwind block.
33 NeedsUnwind,
34 /// Jumping to the next block has already been taken care of.
35 AlreadyJumped,
36 /// The item is not supported.
37 NotSupported,
38}