Skip to content
Snippets Groups Projects
Verified Commit 0646140d authored by Jeremy Soller's avatar Jeremy Soller
Browse files

Remove detailed abort, too many compatibility issues

parent e7b70fdb
Branches
No related tags found
No related merge requests found
Pipeline #11517 failed
#ifndef _BITS_STDLIB_H
#define _BITS_STDLIB_H
// C++ needs abort to be a function, and cannot use this
#ifndef __cplusplus
// Override abort function with detailed abort in C
#define abort() __abort(__func__, __FILE__, __LINE__)
#endif
#ifdef __cplusplus
extern "C" {
#endif
......
......@@ -2,11 +2,9 @@
uintptr_t __stack_chk_guard = 0xd048c37519fcadfe;
// manually define detailed abort function
void __abort(const char *func, const char *file, int line) __attribute__((noreturn));
void abort(void) __attribute__((noreturn));
__attribute__((noreturn))
void __stack_chk_fail(void) {
// call detailed abort function
__abort(__func__, __FILE__, __LINE__);
abort();
}
......@@ -91,27 +91,7 @@ pub unsafe extern "C" fn a64l(s: *const c_char) -> c_long {
#[no_mangle]
pub unsafe extern "C" fn abort() -> ! {
eprintln!("Legacy Abort");
intrinsics::abort();
}
#[no_mangle]
pub unsafe extern "C" fn __abort(
func: *const c_char,
file: *const c_char,
line: c_int,
) -> ! {
let func = CStr::from_ptr(func).to_str().unwrap();
let file = CStr::from_ptr(file).to_str().unwrap();
eprintln!(
"{}: {}:{}: Abort",
func,
file,
line
);
eprintln!("Abort");
intrinsics::abort();
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment