Fix panic not producing output
This commit is contained in:
@@ -6,6 +6,3 @@ authors = ["Jeremy Soller <jackpot51@gmail.com>"]
|
||||
[lib]
|
||||
name = "crt0"
|
||||
crate-type = ["staticlib"]
|
||||
|
||||
[dependencies]
|
||||
relibc = { path = "../.." }
|
||||
|
||||
+7
-3
@@ -2,7 +2,6 @@
|
||||
|
||||
#![no_std]
|
||||
#![feature(asm)]
|
||||
#![feature(core_intrinsics)]
|
||||
#![feature(linkage)]
|
||||
#![feature(naked_functions)]
|
||||
|
||||
@@ -29,6 +28,11 @@ pub unsafe extern "C" fn _start() {
|
||||
}
|
||||
|
||||
#[panic_handler]
|
||||
unsafe fn panic(_pi: &::core::panic::PanicInfo) -> ! {
|
||||
::core::intrinsics::abort();
|
||||
#[linkage = "weak"]
|
||||
#[no_mangle]
|
||||
pub unsafe extern "C" fn rust_begin_unwind(pi: &::core::panic::PanicInfo) -> ! {
|
||||
extern "C" {
|
||||
fn relibc_panic(pi: &::core::panic::PanicInfo) -> !;
|
||||
}
|
||||
relibc_panic(pi)
|
||||
}
|
||||
|
||||
+7
-3
@@ -1,7 +1,6 @@
|
||||
//! crti
|
||||
|
||||
#![no_std]
|
||||
#![feature(core_intrinsics)]
|
||||
#![feature(global_asm)]
|
||||
#![feature(linkage)]
|
||||
|
||||
@@ -47,6 +46,11 @@ global_asm!(r#"
|
||||
"#);
|
||||
|
||||
#[panic_handler]
|
||||
unsafe fn panic(_pi: &::core::panic::PanicInfo) -> ! {
|
||||
::core::intrinsics::abort();
|
||||
#[linkage = "weak"]
|
||||
#[no_mangle]
|
||||
pub unsafe extern "C" fn rust_begin_unwind(pi: &::core::panic::PanicInfo) -> ! {
|
||||
extern "C" {
|
||||
fn relibc_panic(pi: &::core::panic::PanicInfo) -> !;
|
||||
}
|
||||
relibc_panic(pi)
|
||||
}
|
||||
|
||||
+7
-3
@@ -1,7 +1,6 @@
|
||||
//! crti
|
||||
|
||||
#![no_std]
|
||||
#![feature(core_intrinsics)]
|
||||
#![feature(global_asm)]
|
||||
#![feature(linkage)]
|
||||
|
||||
@@ -37,6 +36,11 @@ global_asm!(r#"
|
||||
"#);
|
||||
|
||||
#[panic_handler]
|
||||
unsafe fn panic(_pi: &::core::panic::PanicInfo) -> ! {
|
||||
::core::intrinsics::abort();
|
||||
#[linkage = "weak"]
|
||||
#[no_mangle]
|
||||
pub unsafe extern "C" fn rust_begin_unwind(pi: &::core::panic::PanicInfo) -> ! {
|
||||
extern "C" {
|
||||
fn relibc_panic(pi: &::core::panic::PanicInfo) -> !;
|
||||
}
|
||||
relibc_panic(pi)
|
||||
}
|
||||
|
||||
+9
-4
@@ -58,11 +58,8 @@ use platform::{Allocator, Pal, Sys};
|
||||
#[global_allocator]
|
||||
static ALLOCATOR: Allocator = Allocator;
|
||||
|
||||
#[cfg(not(test))]
|
||||
#[panic_handler]
|
||||
#[linkage = "weak"]
|
||||
#[no_mangle]
|
||||
pub extern "C" fn rust_begin_unwind(pi: &::core::panic::PanicInfo) -> ! {
|
||||
pub extern "C" fn relibc_panic(pi: &::core::panic::PanicInfo) -> ! {
|
||||
use core::fmt::Write;
|
||||
|
||||
let mut w = platform::FileWriter(2);
|
||||
@@ -71,6 +68,14 @@ pub extern "C" fn rust_begin_unwind(pi: &::core::panic::PanicInfo) -> ! {
|
||||
Sys::exit(1);
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
#[panic_handler]
|
||||
#[linkage = "weak"]
|
||||
#[no_mangle]
|
||||
pub extern "C" fn rust_begin_unwind(pi: &::core::panic::PanicInfo) -> ! {
|
||||
relibc_panic(pi)
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
#[lang = "eh_personality"]
|
||||
#[no_mangle]
|
||||
|
||||
Reference in New Issue
Block a user