On Mon, 9 Oct 2023 10:21:58 GMT, Frederic Thevenet <[email protected]>
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.
>
> Frederic Thevenet has updated the pull request incrementally with one
> additional commit since the last revision:
>
> Added a test to verify that symbols are available
According to the GHA workflow, tier1 test are run with a jdk build using the
following `configure` line, with doesn't set `--with-native-debug-symbols`:
bash configure --with-conf-name=windows-x64 --with-debug-level=fastdebug
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-boot-jdk=/d/a/jdk/jdk/bootjdk/jdk --with-jtreg=jtreg/installed
--with-gtest=gtest --with-msvc-toolset-version=14.29 --with-jmod-compress=zip-1
The documentation isn't much help in advising what the default is in this case,
but if it equivalent to `--with-native-debug-symbols:none` , then this
explains why the test fails.
I'll dig a bit deeper to confirm that.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/16039#issuecomment-1753103596