Skip to content

Commit 2c03bef

Browse files
committed
Pass FnABI down
1 parent 3f7de70 commit 2c03bef

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/tools/miri/src/shims/foreign_items.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
4040
&mut self,
4141
link_name: Symbol,
4242
abi: ExternAbi,
43+
_fnabi: &FnAbi<'tcx, Ty<'tcx>>,
4344
args: &[OpTy<'tcx>],
4445
dest: &MPlaceTy<'tcx>,
4546
ret: Option<mir::BasicBlock>,
@@ -67,7 +68,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
6768
}
6869

6970
// The rest either implements the logic, or falls back to `lookup_exported_symbol`.
70-
match this.emulate_foreign_item_inner(link_name, abi, args, dest)? {
71+
match this.emulate_foreign_item_inner(link_name, abi,_fnabi, args, dest)? {
7172
EmulateItemResult::NeedsReturn => {
7273
trace!("{:?}", this.dump_place(&dest.clone().into()));
7374
this.return_to_block(ret)?;
@@ -219,6 +220,7 @@ trait EvalContextExtPriv<'tcx>: crate::MiriInterpCxExt<'tcx> {
219220
&mut self,
220221
link_name: Symbol,
221222
abi: ExternAbi,
223+
_fnabi: &FnAbi<'tcx, Ty<'tcx>>,
222224
args: &[OpTy<'tcx>],
223225
dest: &MPlaceTy<'tcx>,
224226
) -> InterpResult<'tcx, EmulateItemResult> {
@@ -277,7 +279,7 @@ trait EvalContextExtPriv<'tcx>: crate::MiriInterpCxExt<'tcx> {
277279
match link_name.as_str() {
278280
// Miri-specific extern functions
279281
"miri_start_unwind" => {
280-
let [payload] = this.check_shim(abi, ExternAbi::Rust, link_name, args)?;
282+
let [payload] = this.check_shim(abi, _fnabi, ExternAbi::Rust, link_name, args)?;
281283
this.handle_miri_start_unwind(payload)?;
282284
return interp_ok(EmulateItemResult::NeedsUnwind);
283285
}
@@ -286,7 +288,7 @@ trait EvalContextExtPriv<'tcx>: crate::MiriInterpCxExt<'tcx> {
286288
this.run_provenance_gc();
287289
}
288290
"miri_get_alloc_id" => {
289-
let [ptr] = this.check_shim(abi, ExternAbi::Rust, link_name, args)?;
291+
let [ptr] = this.check_shim(abi, _fnabi, ExternAbi::Rust, link_name, args)?;
290292
let ptr = this.read_pointer(ptr)?;
291293
let (alloc_id, _, _) = this.ptr_get_alloc_id(ptr, 0).map_err_kind(|_e| {
292294
err_machine_stop!(TerminationInfo::Abort(format!(
@@ -296,7 +298,7 @@ trait EvalContextExtPriv<'tcx>: crate::MiriInterpCxExt<'tcx> {
296298
this.write_scalar(Scalar::from_u64(alloc_id.0.get()), dest)?;
297299
}
298300
"miri_print_borrow_state" => {
299-
let [id, show_unnamed] = this.check_shim(abi, ExternAbi::Rust, link_name, args)?;
301+
let [id, show_unnamed] = this.check_shim(abi, _fnabi, ExternAbi::Rust, link_name, args)?;
300302
let id = this.read_scalar(id)?.to_u64()?;
301303
let show_unnamed = this.read_scalar(show_unnamed)?.to_bool()?;
302304
if let Some(id) = std::num::NonZero::new(id).map(AllocId)

0 commit comments

Comments
 (0)