adjust-mflags mangles paths into arguments
Eric Reischer
emr at ccil.org
Fri Nov 7 22:15:51 UTC 2014
Steps to reproduce:
$ hg clone http://hg.openjdk.java.net/jdk8u/jdk8u jdk8u
$ cd jdk8u
$ sh get_source.sh
$ sh configure --with-freetype-include=/usr/include/freetype2 --with-freetype-lib=/usr/lib/x86_64-linux-gnu --with-debug-level=slowdebug
$ LOG=trace JOBS=1 make all
{....}
+ echo
/home/emr/jdk8u/build/linux-x86_64-normal-server-slowdebug/hotspot/linux_amd64_compiler2/debug
/home/emr/jdk8u/hotspot/make/linux/makefiles/top.make:91: Building ad_stuff (from
/home/emr/jdk8u/build/linux-x86_64-normal-server-slowdebug/hotspot/linux_amd64_compiler2/debug/../generated/platform.current)
(/home/emr/jdk8u/build/linux-x86_64-normal-server-slowdebug/hotspot/linux_amd64_compiler2/debug/../generated/platform.current
/home/emr/jdk8u/build/linux-x86_64-normal-server-slowdebug/hotspot/linux_amd64_compiler2/debug/../generated/adjust-mflags newer)
++ pwd
+ echo
/home/emr/jdk8u/build/linux-x86_64-normal-server-slowdebug/hotspot/linux_amd64_compiler2/debug
/home/emr/jdk8u/hotspot/make/linux/makefiles/top.make:91: Building ad_stuff (from
/home/emr/jdk8u/build/linux-x86_64-normal-server-slowdebug/hotspot/linux_amd64_compiler2/debug/../generated/platform.current)
(/home/emr/jdk8u/build/linux-x86_64-normal-server-slowdebug/hotspot/linux_amd64_compiler2/debug/../generated/platform.current
/home/emr/jdk8u/build/linux-x86_64-normal-server-slowdebug/hotspot/linux_amd64_compiler2/debug/../generated/adjust-mflags newer)
++
/home/emr/jdk8u/build/linux-x86_64-normal-server-slowdebug/hotspot/linux_amd64_compiler2/debug/../generated/adjust-mflags '-rRw -I/home/emr/jdk8u/make/common -I/home/emr/jdk8u/make/common -I/home/emr/jdk8u/make/common -I/home/emr/jdk8u/make/common -I/home/emr/jdk8u/make/common' 1
+ /usr/bin/make VERBOSE= LOG_LEVEL=trace -R -I /home/emr/jdk8u/make/common -f adlc.make -r -rRw -I/home/emr/ -j1 -dk8u/make/common -I/home/emr/jdk8u/make/common -I/home/emr/jdk8u/make/common -I/home/emr/jdk8u/make/common -I/home/emr/jdk8u/make/common
/usr/bin/make: invalid option -- '8'
/usr/bin/make: invalid option -- 'u'
/usr/bin/make: invalid option -- '/'
/usr/bin/make: invalid option -- 'a'
/usr/bin/make: invalid option -- '/'
/usr/bin/make: invalid option -- 'c'
Usage: make [options] [target] ...
Options:
-b, -m Ignored for compatibility.
{....}
As you can see, "adjust-mflags" is taking the path
/home/emr/jdk8u/make/common
and incorrectly converting it into
/home/emr/ -j1 -dk8u/make/common
Naturally, everything is boned from that point on. This occurs when
the "all" target gets to building hotspot.
More information about the build-dev
mailing list