RFR: JDK-8151619: genSocketOptionRegistry.exe always relinked on Windows

Tim Bell tim.bell at oracle.com
Fri Mar 11 15:05:14 UTC 2016


Erik:

> The build tool genSocketOptionRegistry.exe is always relinked on 
> Windows at every rebuild. This causes a long chain of unnecessary 
> rebuilding, completely destroying incremental build performance.
>
> The underlying cause of this is the enabling of debug symbols 
> everywhere without properly handling the debug symbol flags for 
> Windows. SetupNativeCompilation in this case thinks debug symbols are 
> to be generated and sets up dependencies based on that, but the 
> compile and link command lines are not setup to generate them. Since 
> they aren't there, the linking is redone each build.
>
> My fix removes -Zi from C*FLAGS_JDKLIB and -debug from LDFLAGS_JDKLIB 
> and adds them to the *FLAGS_DEBUG_SYMBOLS variables instead, just as 
> have been done for all other platforms. I also move the .pdb files 
> generated for object files to a separate sub directory to avoid name 
> clashes if a source file and the resulting executable/lib has the same 
> name.
>
> When running a compare build, sawindbg.dll differs on Windows x86 
> because it historically sets -ZI in CFLAGS, which is now overridden in 
> this patch. I very much doubt there is any need to use -ZI instead of 
> -Zi so also removing that flag from sawindb to not cause confusion 
> about what is actually in effect.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8151619
> Webrev: http://cr.openjdk.java.net/~erikj/8151619/webrev.01/

Looks good to me.

Tim





More information about the build-dev mailing list