RFR: JDK-8186470: JDK10 hotspot integration has broken all MacOS dummy builds

Erik Joelsson erik.joelsson at oracle.com
Tue Aug 22 11:59:57 UTC 2017


When running the build on Macosx with a very long path to the root dir, 
we have started hitting the command line length limit while linking the 
gtest libjvm.dylib. In our case, the length of the path is not under our 
control, so we need to find a way to deal with this.

make/common/NativeCompilation.gmk already utilizes the @-file feature of 
most toolchains to mitigate this. The problem here is that clang does 
not properly work with @-files when linking.

This patch rewrites the object file list to paths relative to the output 
dir when it seems likely to be necessary, and makes sure the link 
command is executed in that directory. I've tried to only make this 
rewrite happen when needed (clang, >500 objects, >10 path elements in 
the output dir). This means that for most users, there should be no 
difference from today and the contents of the .cmdline files will 
continue to be runnable from any directory.

Bug: https://bugs.openjdk.java.net/browse/JDK-8186470

Webrev: http://cr.openjdk.java.net/~erikj/8186470/webrev.01/

/Erik




More information about the build-dev mailing list