diff --git a/src/ld_so/dso.rs b/src/ld_so/dso.rs index e658310a19..c5fc288a8f 100644 --- a/src/ld_so/dso.rs +++ b/src/ld_so/dso.rs @@ -865,7 +865,7 @@ impl DSO { }; // Ensure the DTV entry is initialised. - unsafe { __tls_get_addr(&mut tls_index) }; + unsafe { __tls_get_addr(&raw mut tls_index) }; *resolver = __tlsdesc_dynamic as *const () as usize; *descriptor = Box::into_raw(Box::new(TlsDescriptor { diff --git a/src/ld_so/linker.rs b/src/ld_so/linker.rs index a8597587d7..603c4abf23 100644 --- a/src/ld_so/linker.rs +++ b/src/ld_so/linker.rs @@ -523,7 +523,7 @@ impl Linker { ti_offset: symbol.value, }; - unsafe { __tls_get_addr(&mut tls_index) } + unsafe { __tls_get_addr(&raw mut tls_index) } } }) } diff --git a/src/ld_so/mod.rs b/src/ld_so/mod.rs index 93231989cb..acf137c38d 100644 --- a/src/ld_so/mod.rs +++ b/src/ld_so/mod.rs @@ -143,7 +143,7 @@ pub unsafe fn init( { const ARCH_GET_FS: usize = 0x1003; let mut val = 0usize; - syscall!(ARCH_PRCTL, ARCH_GET_FS, &mut val as *mut usize); + syscall!(ARCH_PRCTL, ARCH_GET_FS, &raw mut val); tp = val; } #[cfg(target_arch = "aarch64")]