Closed matthiaskrgr closed 1 year ago
Reduced to:
#![feature(no_core, lang_items, start)]
#![no_core]
#[link(name = "c")]
extern "C" {}
#[lang = "sized"]
pub trait Sized {}
#[lang = "copy"]
pub trait Copy {}
#[lang = "start"]
fn start<T>(_main: fn() -> T, _argc: isize, _argv: *const *const u8) -> isize {
0
}
fn main() {}
The issue is the missing sigpipe: u8
argument for start
. While cg_llvm doesn't crash on it, it does pass one argument too much to start
. I think rustc will need to verify the signature of start
.
Closing in favor of https://github.com/rust-lang/rust/issues/105963.
Fixed by https://github.com/rust-lang/rust/pull/106092. Will be pulled in with the next subtree sync (which is blocked on a rustc regression).