From d5eb1e273273dbce5455be7c49484030fde89fe1 Mon Sep 17 00:00:00 2001 From: Jeremy Soller <jeremy@system76.com> Date: Fri, 12 Apr 2019 09:30:02 -0600 Subject: [PATCH] Add dl-tls.h, required for shared libraries --- src/header/dl-tls/cbindgen.toml | 7 +++++++ src/header/dl-tls/mod.rs | 15 +++++++++++++++ src/header/mod.rs | 2 ++ 3 files changed, 24 insertions(+) create mode 100644 src/header/dl-tls/cbindgen.toml create mode 100644 src/header/dl-tls/mod.rs diff --git a/src/header/dl-tls/cbindgen.toml b/src/header/dl-tls/cbindgen.toml new file mode 100644 index 00000000..a29e5ec0 --- /dev/null +++ b/src/header/dl-tls/cbindgen.toml @@ -0,0 +1,7 @@ +sys_includes = [] +include_guard = "_DL_TLS_H" +language = "C" +style = "Tag" + +[enum] +prefix_with_name = true diff --git a/src/header/dl-tls/mod.rs b/src/header/dl-tls/mod.rs new file mode 100644 index 00000000..f1a44b6f --- /dev/null +++ b/src/header/dl-tls/mod.rs @@ -0,0 +1,15 @@ +//! dl-tls implementation for Redox + +use platform::types::*; + +#[repr(C)] +pub struct dl_tls_index { + pub ti_module: u64, + pub ti_offset: u64, +} + +#[no_mangle] +pub extern "C" fn __tls_get_addr(ti: *mut dl_tls_index) -> *mut c_void { + //TODO: Figure out how to implement this + unimplemented!(); +} diff --git a/src/header/mod.rs b/src/header/mod.rs index 34a1eae1..316433d1 100644 --- a/src/header/mod.rs +++ b/src/header/mod.rs @@ -5,6 +5,8 @@ pub mod assert; pub mod ctype; pub mod dirent; pub mod dlfcn; +#[path = "dl-tls/mod.rs"] +pub mod dl_tls; pub mod errno; pub mod fcntl; pub mod float; -- GitLab