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