summaryrefslogtreecommitdiffstats
path: root/vendor/rustix/src/imp/linux_raw/runtime/tls.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--vendor/rustix/src/imp/linux_raw/runtime/tls.rs62
1 files changed, 0 insertions, 62 deletions
diff --git a/vendor/rustix/src/imp/linux_raw/runtime/tls.rs b/vendor/rustix/src/imp/linux_raw/runtime/tls.rs
deleted file mode 100644
index 63eed9bbd..000000000
--- a/vendor/rustix/src/imp/linux_raw/runtime/tls.rs
+++ /dev/null
@@ -1,62 +0,0 @@
-#![allow(unsafe_code)]
-
-use super::super::c;
-use super::super::elf::*;
-use super::super::param::auxv::exe_phdrs_slice;
-use core::ptr::null;
-
-/// For use with [`set_thread_area`].
-///
-/// [`set_thread_area`]: crate::runtime::set_thread_area
-#[cfg(target_arch = "x86")]
-pub type UserDesc = linux_raw_sys::general::user_desc;
-
-pub(crate) fn startup_tls_info() -> StartupTlsInfo {
- let mut base = null();
- let mut tls_phdr = null();
- let mut stack_size = 0;
-
- let phdrs = exe_phdrs_slice();
-
- // Safety: We assume the phdr array pointer and length the kernel provided
- // to the process describe a valid phdr array.
- unsafe {
- for phdr in phdrs {
- match (*phdr).p_type {
- PT_PHDR => {
- base = phdrs
- .as_ptr()
- .cast::<u8>()
- .offset(-((*phdr).p_vaddr as isize))
- }
- PT_TLS => tls_phdr = phdr,
- PT_GNU_STACK => stack_size = (*phdr).p_memsz,
- _ => {}
- }
- }
-
- StartupTlsInfo {
- addr: base.cast::<u8>().add((*tls_phdr).p_vaddr).cast(),
- mem_size: (*tls_phdr).p_memsz,
- file_size: (*tls_phdr).p_filesz,
- align: (*tls_phdr).p_align,
- stack_size,
- }
- }
-}
-
-/// The values returned from [`startup_tls_info`].
-///
-/// [`startup_tls_info`]: crate::runtime::startup_tls_info
-pub struct StartupTlsInfo {
- /// The base address of the TLS segment.
- pub addr: *const c::c_void,
- /// The size of the memory region.
- pub mem_size: usize,
- /// The size beyond which all memory is zero-initialized.
- pub file_size: usize,
- /// The required alignment for the TLS segment.
- pub align: usize,
- /// The requested minimum size for stacks.
- pub stack_size: usize,
-}