summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ldso/ldso/dl-elf.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ldso/ldso/dl-elf.c b/ldso/ldso/dl-elf.c
index 7b5d75146..09b3aaf01 100644
--- a/ldso/ldso/dl-elf.c
+++ b/ldso/ldso/dl-elf.c
@@ -714,6 +714,9 @@ struct elf_resolve *_dl_load_elf_shared_library(int secure,
DL_UPDATE_LOADADDR_HDR(lib_loadaddr,
new_addr + (ppnt->p_vaddr & ADDR_ALIGN),
ppnt);
+ /* This has invalidated all pointers into the previously readonly segment.
+ Update any them to point into the remapped segment. */
+ _dl_parse_dynamic_info(dpnt, dynamic_info, NULL, lib_loadaddr);
#endif
}
}