When building OpenJDK on Windows using "--with-native-debug-info=external", the 
resulting debug symbols are saved in files located in the same folder as the 
corresponding executable or library and named by swapping the extension ".exe" 
or ".dll" for a ".pdb" one (or "diz" if option 
"--with-native-debug-info=zipped" is used), which means that in the event of an 
exe and a dll file sharing the same target folder and file name (e.g. 
`bin\java.exe` and `bin\java.dll`), we have to choose whether symbols in 
`bin\java.pdb` will refer to the exe or the dll; we can't have both.

This PR addresses this issue by adopting a different naming strategy for the 
resulting symbol files where we keep the full name of every file - including 
its `dll` or `exe` extension) and then add the appropriate `.pdb`, `.map` or 
`.diz` extension .

For instance,  `jvm.dll` symbols are no longer called `jvm.pdb` but instead 
`jvm.dll.pdb`. Similarly, it is now `jvm.dll.diz` when using zipped symbols, 
and "jvm.dll.stripped.pdb" for stripped symbols (i.e. when 
"--with-external-symbols-in-bundles=public" is used).

The PR also removes the existing filtering for java.pdb, jimage.pdb and 
jpackage.pdb used to guaranty the dll symbols were bundled over the ones from 
the exe, since we no longer need that.

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

Commit messages:
 - 8317510: Change Windows debug symbol files naming to avoid loosing info when 
an executable and a library share the same name

Changes: https://git.openjdk.org/jdk/pull/16039/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=16039&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8317510
  Stats: 32 lines in 3 files changed: 4 ins; 17 del; 11 mod
  Patch: https://git.openjdk.org/jdk/pull/16039.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16039/head:pull/16039

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

Reply via email to