mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-11-15 01:17:27 +00:00
Enable cfg miri in analysis
This commit is contained in:
parent
8e5f944317
commit
41b8b0b77d
2 changed files with 14 additions and 0 deletions
|
@ -380,6 +380,17 @@ impl Evaluator<'_> {
|
|||
let id = from_bytes!(i64, id.get(self)?);
|
||||
self.exec_syscall(id, rest, destination, locals, span)
|
||||
}
|
||||
"sched_getaffinity" => {
|
||||
let [_pid, _set_size, set] = args else {
|
||||
return Err(MirEvalError::TypeError("libc::write args are not provided"));
|
||||
};
|
||||
let set = Address::from_bytes(set.get(self)?)?;
|
||||
// Only enable core 0 (we are single threaded anyway), which is bitset 0x0000001
|
||||
self.write_memory(set, &[1])?;
|
||||
// return 0 as success
|
||||
self.write_memory_using_ref(destination.addr, destination.size)?.fill(0);
|
||||
Ok(())
|
||||
}
|
||||
_ => not_supported!("unknown external function {as_str}"),
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,6 +22,9 @@ pub(crate) fn get(
|
|||
}
|
||||
}
|
||||
|
||||
// Add miri cfg, which is useful for mir eval in stdlib
|
||||
res.push(CfgFlag::Atom("miri".into()));
|
||||
|
||||
match get_rust_cfgs(cargo_toml, target, extra_env) {
|
||||
Ok(rustc_cfgs) => {
|
||||
tracing::debug!(
|
||||
|
|
Loading…
Reference in a new issue