diff --git a/src/rtstartup/rsbegin.rs b/src/rtstartup/rsbegin.rs index d1b6fe6655a..bbabed20ec1 100644 --- a/src/rtstartup/rsbegin.rs +++ b/src/rtstartup/rsbegin.rs @@ -23,9 +23,20 @@ // of other runtime components (registered via yet another special image section). #![crate_type="rlib"] -#![no_std] +#![feature(no_core, lang_items, optin_builtin_traits)] +#![no_core] #![allow(non_camel_case_types)] +#[lang="sized"] +trait Sized {} + +#[lang="copy"] +trait Copy {} + +#[lang="sync"] +trait Sync {} +impl Sync for .. {} + #[cfg(all(target_os="windows", target_arch = "x86", target_env="gnu"))] pub mod eh_frames { diff --git a/src/rtstartup/rsend.rs b/src/rtstartup/rsend.rs index 5e4e13ebd05..1ab194d5eb9 100644 --- a/src/rtstartup/rsend.rs +++ b/src/rtstartup/rsend.rs @@ -11,7 +11,12 @@ // See rsbegin.rs for details. #![crate_type="rlib"] -#![no_std] +#![feature(no_core, lang_items, optin_builtin_traits)] +#![no_core] + +#[lang="sync"] +trait Sync {} +impl Sync for .. {} #[cfg(all(target_os="windows", target_arch = "x86", target_env="gnu"))] pub mod eh_frames diff --git a/src/test/run-pass/smallest-hello-world.rs b/src/test/run-pass/smallest-hello-world.rs index b11970560d5..7fc6e6ba1b0 100644 --- a/src/test/run-pass/smallest-hello-world.rs +++ b/src/test/run-pass/smallest-hello-world.rs @@ -22,7 +22,7 @@ extern "rust-intrinsic" { fn transmute(t: T) -> U; } #[lang = "eh_personality"] extern fn eh_personality() {} #[lang = "eh_unwind_resume"] extern fn eh_unwind_resume() {} -#[lang = "panic_fmt"] fn panic_fmt() -> ! { loop {} } +#[lang = "panic_fmt"] extern fn panic_fmt() -> ! { loop {} } #[no_mangle] pub extern fn rust_eh_register_frames () {} #[no_mangle] pub extern fn rust_eh_unregister_frames () {}