RFR: 8248876: LoadObject with bad base address created for exec file on linux [v2]

Yasumasa Suenaga ysuenaga at openjdk.java.net
Sun Feb 7 02:25:05 UTC 2021


> 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.

Yasumasa Suenaga has updated the pull request incrementally with one additional commit since the last revision:

  Remove unnecessary comments

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/2366/files
  - new: https://git.openjdk.java.net/jdk/pull/2366/files/ed352edd..6a83d12d

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2366&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2366&range=00-01

  Stats: 5 lines in 1 file changed: 0 ins; 5 del; 0 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


More information about the serviceability-dev mailing list