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