We could see NPE on `LinuxCDebugger::loadObjectContainingPC` which is used 
mainly by the clhsdb `findpc` command. (See 
[JDK-8248876](https://bugs.openjdk.java.net/browse/JDK-8248876) for more 
details)

It is caused by PIE executable handling.

Currently we use virtual address of top of PT_LOAD in executable as base 
address - it is valid for ET_EXEC binary.
However, in case of ET_DYN binary (PIE binary), we should handle it like a 
shared library.
In GDB, base address of executable would be calculated by dynamic section. SA 
should also do so.

-------------

Commit messages:
 - Remove unnecessary label from debug message
 - Calculate base address of ET_DYN executable

Changes: https://git.openjdk.java.net/jdk/pull/2366/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2366&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8248876
  Stats: 21 lines in 2 files changed: 8 ins; 4 del; 9 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2366.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2366/head:pull/2366

PR: https://git.openjdk.java.net/jdk/pull/2366

Reply via email to