RFR: 8351842: Windows specific issues in combination of JEP 493 and --with-external-symbols-in-bundles=public [v4]

Christoph Langer clanger at openjdk.org
Mon Dec 1 09:02:48 UTC 2025


> This PR addresses an issue that can be observed when building on Windows with configure options `--enable-linkable-runtime` and `--with-external-symbols-in-bundles=public`.
> 
> The problem is that with this special build configuration, we build two sets of .pdb files for the binaries. The first set is the standard debug symbols files named <binary-name>.pdb. The second set consists of stripped debug symbols file called <binary-name>.stripped.pdb which have less information but enough to present line numbers in hs-err files.
> 
> During build we use the *.stripped.pdb files for compiling the jmods and also the bundle files. However, in the images folder, both sets of .pdb files exist. The tests for runtime linking will now, in the absence of jmod files, pick up the .pdb files (without *stripped*) from images, but in the runtime the hashes of the *stripped* files are stored.
> 
> With this change, the standard .pdb files in the `--with-external-symbols-in-bundles=public` configuration are now the stripped files and we create a set of full pdb files named *.full.pdb. Jmods and Bundles still contain the stripped pdb files and we also fix the issue that the debug symbols bundle also contained stripped pdb files so far. With this fix, it will contain the full pdb files and extracting these over a JDK runtime will replace stripped pdbs with full pdbs.

Christoph Langer has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision:

 - Implement new strategy
 - Merge branch 'master' into JDK-8351842
 - Merge branch 'master' into JDK-8351842
 - Merge branch 'master' into JDK-8351842
 - Fix tests
 - JDK-8351842

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/24012/files
  - new: https://git.openjdk.org/jdk/pull/24012/files/e8bff098..7a409863

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=24012&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=24012&range=02-03

  Stats: 333764 lines in 3194 files changed: 217067 ins; 72151 del; 44546 mod
  Patch: https://git.openjdk.org/jdk/pull/24012.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24012/head:pull/24012

PR: https://git.openjdk.org/jdk/pull/24012


More information about the build-dev mailing list