Browse Source

Fix compilation on Redox by removing use of access in ld_so

Jeremy Soller 4 years ago
parent
commit
d9bacaec04
2 changed files with 1 additions and 21 deletions
  1. 1 15
      src/ld_so/linker.rs
  2. 0 6
      src/ld_so/mod.rs

+ 1 - 15
src/ld_so/linker.rs

@@ -26,7 +26,6 @@ use crate::{
 };
 
 use super::{
-    access,
     debug::{RTLDDebug, RTLDState, _dl_debug_state, _r_debug},
     tcb::{Master, Tcb},
     PAGE_SIZE,
@@ -164,20 +163,7 @@ impl Linker {
                 if self.verbose {
                     println!("check {}", path);
                 }
-                let access = unsafe {
-                    let path_c = CString::new(path.as_bytes()).map_err(|err| {
-                        Error::Malformed(format!("invalid path '{}': {}", path, err))
-                    })?;
-
-                    // TODO: Use R_OK | X_OK
-                    // We cannot use unix stdlib because errno is thead local variable
-                    // and fs:[0] is not set yet.
-                    access(path_c.as_ptr(), unistd::F_OK) == 0
-                };
-
-                if access {
-                    return Ok(Some(self.load_recursive(name, &path)?));
-                }
+                return Ok(Some(self.load_recursive(name, &path)?));
             }
 
             Err(Error::Malformed(format!("failed to locate '{}'", name)))

+ 0 - 6
src/ld_so/mod.rs

@@ -79,12 +79,6 @@ pub fn static_init(sp: &'static Stack) {
     }
 }
 
-// Wrapper over the systemcall, Do not use outside of ld_so
-pub unsafe fn access(path: *const c_char, mode: c_int) -> c_int {
-    let path = CStr::from_ptr(path);
-    syscall!(ACCESS, (path).as_ptr(), mode) as c_int
-}
-
 #[cfg(target_os = "linux")]
 pub unsafe fn init(sp: &'static Stack) {
     let mut tp = 0usize;