diff --git a/src/ld_so/dso.rs b/src/ld_so/dso.rs index c2f5582069..a4b4cbe129 100644 --- a/src/ld_so/dso.rs +++ b/src/ld_so/dso.rs @@ -536,7 +536,7 @@ impl DSO { let size = end - start; let mut flags = sys_mman::MAP_ANONYMOUS | sys_mman::MAP_PRIVATE; if start != 0 { - flags |= sys_mman::MAP_FIXED; + flags |= sys_mman::MAP_FIXED_NOREPLACE; } log::trace!(" mmap({:#x}, {:x}, {:x})", start, size, flags); let ptr = Sys::mmap( diff --git a/src/ld_so/start.rs b/src/ld_so/start.rs index 0e638cf714..355f1474fa 100644 --- a/src/ld_so/start.rs +++ b/src/ld_so/start.rs @@ -286,7 +286,7 @@ pub unsafe extern "C" fn relibc_ld_so_start( } let mut base_addr = None; - if !is_manual && cfg!(not(target_os = "redox")) { + if !is_manual { // if we are not running in manual mode, then the main // program is already loaded by the kernel and we want // to use it. on redox, we treat it the same.