diff --git a/src/ld_so/linker.rs b/src/ld_so/linker.rs index 670d38e77612a071d5a66e3ec8af0a519dfbd8b5..a091e857f8489de57f45d24062e767cec9bb15ea 100644 --- a/src/ld_so/linker.rs +++ b/src/ld_so/linker.rs @@ -647,7 +647,7 @@ impl Linker { } as usize; let mut tcb_master = Master { - ptr: unsafe { mmap.as_ptr().add(ph.p_vaddr as usize) }, + ptr: unsafe { mmap.as_ptr().add(ph.p_vaddr as usize - base_addr) }, len: ph.p_filesz as usize, offset: tls_size - valign, };