Fix build with #[unix_sigpipe = "..."]
support in rustc
This commit is contained in:
parent
dba35d2be7
commit
c011126f1a
@ -1 +1 @@
|
||||
9353538c7bea6edb245457712cec720305c4576e
|
||||
8c6ce6b91b172f77c795a74bfeaf74b865146b3f
|
||||
|
11
src/eval.rs
11
src/eval.rs
@ -277,7 +277,7 @@ pub fn create_ecx<'mir, 'tcx: 'mir>(
|
||||
// Call start function.
|
||||
|
||||
match entry_type {
|
||||
EntryFnType::Main => {
|
||||
EntryFnType::Main { .. } => {
|
||||
let start_id = tcx.lang_items().start_fn().unwrap();
|
||||
let main_ret_ty = tcx.fn_sig(entry_id).output();
|
||||
let main_ret_ty = main_ret_ty.no_bound_vars().unwrap();
|
||||
@ -292,10 +292,17 @@ pub fn create_ecx<'mir, 'tcx: 'mir>(
|
||||
|
||||
let main_ptr = ecx.create_fn_alloc_ptr(FnVal::Instance(entry_instance));
|
||||
|
||||
let sigpipe = 2; // Inlining of `DEFAULT` from https://github.com/rust-lang/rust/blob/master/compiler/rustc_session/src/config/sigpipe.rs
|
||||
|
||||
ecx.call_function(
|
||||
start_instance,
|
||||
Abi::Rust,
|
||||
&[Scalar::from_pointer(main_ptr, &ecx).into(), argc.into(), argv],
|
||||
&[
|
||||
Scalar::from_pointer(main_ptr, &ecx).into(),
|
||||
argc.into(),
|
||||
argv,
|
||||
Scalar::from_u8(sigpipe).into(),
|
||||
],
|
||||
Some(&ret_place.into()),
|
||||
StackPopCleanup::Root { cleanup: true },
|
||||
)?;
|
||||
|
Loading…
Reference in New Issue
Block a user