On Wed, 4 Oct 2023 16:27:09 GMT, Frederic Thevenet <ftheve...@openjdk.org> 
wrote:

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

The following build scenarios where tested on Windows, and the symbols name 
manually verified for correctness:
* `./configure --with-native-debug-symbols=external`
* `./configure --with-native-debug-symbols=zipped`
* `./configure --with-native-debug-symbols=external 
--with-external-symbols-in-bundles=full`
* `./configure --with-native-debug-symbols=external 
--with-external-symbols-in-bundles=public`

For sanity check, I also ran the following on Linux (where we're not expecting 
to see any differences):
* `./configure --with-native-debug-symbols=external`
* `./configure --with-native-debug-symbols=zipped`
* `./configure --with-native-debug-symbols=external 
--with-external-symbols-in-bundles=full`

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

PR Comment: https://git.openjdk.org/jdk/pull/16039#issuecomment-1747263359

Reply via email to