From 89832b3ac89ac4084f13543c10f7eec19fcbfb00 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Fri, 14 Dec 2018 13:20:56 -0700 Subject: [PATCH] Add lldiv --- src/header/stdlib/mod.rs | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/header/stdlib/mod.rs b/src/header/stdlib/mod.rs index dc75d432b0..d7070da2cf 100644 --- a/src/header/stdlib/mod.rs +++ b/src/header/stdlib/mod.rs @@ -357,16 +357,30 @@ pub extern "C" fn ldiv(numer: c_long, denom: c_long) -> ldiv_t { } } -// #[no_mangle] -pub extern "C" fn lrand48() -> c_long { - unimplemented!(); -} - #[no_mangle] pub extern "C" fn llabs(i: c_longlong) -> c_longlong { i.abs() } +#[repr(C)] +pub struct lldiv_t { + quot: c_longlong, + rem: c_longlong, +} + +#[no_mangle] +pub extern "C" fn lldiv(numer: c_longlong, denom: c_longlong) -> lldiv_t { + lldiv_t { + quot: numer / denom, + rem: numer % denom, + } +} + +// #[no_mangle] +pub extern "C" fn lrand48() -> c_long { + unimplemented!(); +} + #[no_mangle] pub unsafe extern "C" fn malloc(size: size_t) -> *mut c_void { platform::alloc(size)