For some time, we have used two different ways of handling debug symbols on 
Windows. Hotspot has been built using -Z7, and the JDK libraries using -Zi. -Z7 
is preferable, since it does not create separate .pdb files for each source 
file; instead debug data is embedded in the .obj file, just like all other 
compilers do. This aligns better with the rest of the platforms. It also means 
we get rid of the mspdbsrv process, which serializes access to pdb files, and 
which has proven to be a bottleneck in certain situations.

This does not mean that the end product is different: the linker still 
generates a .pdb file for the library/executable, and strip the debug 
information from the library/executable.

This will also allow for some well-needed cleanups. With this change, hotspot 
and JDK libs finally build with the same debug symbol flags, and we can remove 
the hack that was introduced with the new hotspot build to override the debug 
symbol flags. Also, now that -Zi is ditched, we don't need the special handling 
of per-source-file pdb’s.

I have verified on our build system using COMPARE_BUILD that this does not 
affect the generated output.

Bug: https://bugs.openjdk.java.net/browse/JDK-8199347 
<https://bugs.openjdk.java.net/browse/JDK-8199347>
WebRev: 
http://cr.openjdk.java.net/~ihse/JDK-8199347-use-Z7-for-debug-symbols/webrev.01 
<http://cr.openjdk.java.net/~ihse/JDK-8199347-use-Z7-for-debug-symbols/webrev.01>

/Magnus

Reply via email to