miri/shims/
mod.rs

1#![warn(clippy::arithmetic_side_effects)]
2
3mod aarch64;
4mod alloc;
5mod backtrace;
6mod files;
7#[cfg(all(unix, feature = "native-lib"))]
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 global_ctor;
18pub mod io_error;
19pub mod os_str;
20pub mod panic;
21pub mod sig;
22pub mod time;
23pub mod tls;
24pub mod unwind;
25
26pub use self::files::FdTable;
27#[cfg(all(unix, feature = "native-lib"))]
28pub use self::native_lib::trace::{init_sv, register_retcode_sv};
29pub use self::unix::{DirTable, EpollInterestTable};
30
31/// What needs to be done after emulating an item (a shim or an intrinsic) is done.
32pub enum EmulateItemResult {
33    /// The caller is expected to jump to the return block.
34    NeedsReturn,
35    /// The caller is expected to jump to the unwind block.
36    NeedsUnwind,
37    /// Jumping to the next block has already been taken care of.
38    AlreadyJumped,
39    /// The item is not supported.
40    NotSupported,
41}