From c342323c7ab1e38caed422dd22c9c204048c2100 Mon Sep 17 00:00:00 2001 From: Yasumasa Suenaga Date: Thu, 11 Feb 2021 14:58:03 +0000 Subject: [PATCH] 8261431: SA: Add comments about load address of executable Reviewed-by: sspitsyn, kevinw --- src/jdk.hotspot.agent/linux/native/libsaproc/ps_core.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/jdk.hotspot.agent/linux/native/libsaproc/ps_core.c b/src/jdk.hotspot.agent/linux/native/libsaproc/ps_core.c index dff4cb3eeca..9f7c4050ef2 100644 --- a/src/jdk.hotspot.agent/linux/native/libsaproc/ps_core.c +++ b/src/jdk.hotspot.agent/linux/native/libsaproc/ps_core.c @@ -507,7 +507,11 @@ static uintptr_t read_exec_segments(struct ps_prochandle* ph, ELF_EHDR* exec_ehd result = exec_php->p_vaddr; ph->core->dynamic_addr = exec_php->p_vaddr; } else { // ET_DYN + // Base address of executable is based on entry point (AT_ENTRY). result = ph->core->dynamic_addr - exec_ehdr->e_entry; + + // dynamic_addr has entry point of executable. + // Thus we should subtract it. ph->core->dynamic_addr += exec_php->p_vaddr - exec_ehdr->e_entry; } print_debug("address of _DYNAMIC is 0x%lx\n", ph->core->dynamic_addr);