fix(redox-rt): update min mmap address for ET_EXEC
Signed-off-by: Anhad Singh <andypython@protonmail.com>
This commit is contained in:
@@ -135,13 +135,15 @@ pub fn fexec_impl(
|
||||
});
|
||||
}
|
||||
let span = span.expect("ELF executables must contain at least one `PT_LOAD` segment");
|
||||
let span_size = (span.end - span.start).next_multiple_of(PAGE_SIZE);
|
||||
|
||||
let base_addr = if header.e_type == ET_DYN {
|
||||
// PIE
|
||||
let span_size = (span.end - span.start).next_multiple_of(PAGE_SIZE);
|
||||
let addr = mmap_anon_remote(&grants_fd, 0, 0, span_size, MapFlags::PROT_NONE)?;
|
||||
update_min_mmap_addr(addr, span_size);
|
||||
addr
|
||||
} else {
|
||||
update_min_mmap_addr(span.start, span_size);
|
||||
0
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user