Fix compilation on Redox by removing use of access in ld_so

This commit is contained in:
Jeremy Soller
2020-06-06 21:00:57 -06:00
parent d0c1160299
commit d9bacaec04
2 changed files with 1 additions and 21 deletions
+1 -15
View File
@@ -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)))
-6
View File
@@ -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;