Re: RFR: JDK-8058631 Rename posix to unix in build system to match file name changes

2014-11-07 Thread Magnus Ihse Bursie

On 2014-11-05 17:13, Volker Simonis wrote:

Hi Magnus,

I've looked at the change and I think it looks good.
For any case I've also run an AIX build with your change applied and
didn't encounter any problems.
So thumbs up from me!


Thanks!



Regards,
Volker

PS: how did you produce a webrev from two repositories - do you have a
special version of webrev?



No special version, just the latest from the webrev repo. Use the -f 
switch to include sub-repos. For historical reasons it's named -f, for 
forest, but it is now converted to use the tree extension. (I did ran 
into an issue with the new tree extension support since I used nawk 
instead of gawk; a patch for that is under review.)



And what's the best way to import such a change into mercurial (apart
from 'patch'). I manually edited the patch file to make 'compatible'
with 'qimport' but maybe there's a better way?


I have no idea. :-) I think you'll need to use patch, since mercurial do 
not know about subrepos internally. Is there a problem with using patch? 
Maybe the trees extensions will need to implement a timport..?


/Magnus


Re: RFR: AARCH64: Top-level JDK changes

2014-11-07 Thread Andrew Haley
On 11/07/2014 05:42 PM, Christian Thalinger wrote:
 
 On Nov 7, 2014, at 9:21 AM, Andrew Haley a...@redhat.com wrote:

 The first patch: top-level build machinery changes.

 http://cr.openjdk.java.net/~aph/8064357-rev-1/ 
 http://cr.openjdk.java.net/~aph/8064357-rev-1/

 common/autoconf/flags.m4
 
 +aarch64)
 +  ZERO_ARCHFLAG=
 +  ;;
 
 Why is this required on aarch64 but not all the other architectures?

I think it's because GCC rejects -m64.

Andrew.



Re: RFR: AARCH64: Top-level JDK changes

2014-11-07 Thread Volker Simonis
The changes look good besides the ones to common/autoconf/build-aux/config.sub

When we did our initial check-in there have been objections to modify
autoconf-config.guess because that one was copied directly from the
autoconf project and should not be modified. I think the same applies
to config.sub as well.

But on the other side, we have an OpenJDK specific wrapper for
autoconf-config.guess (i.e. config.guess) but there's no such wrapper
for config.sub where we could fix-up things.

So we have three possibilities:

1. make your change as suggested (which breaks the rule of not editing
upstream files)
2. create a wrapper for config.sub, i.e. move config.sub to
autoconf-config.sub and call it from config.sub which can contain
arbitrary fix-up coding (which seems a little over-engineered IMHO)
3. pull in the new version of config.guess and config.sub from [1]
which already seem to have the changes you need.

I'm all in favour of point three which would also allow us to get rid
of some of the hacks which are currently in config.guess. And now, as
we're still early in the jdk9 development the risk of doing this seems
minimal, but let's see what the build-dev guy say?

Regards,
Volker

[1] 
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD

http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD

On Fri, Nov 7, 2014 at 6:34 PM, Vladimir Kozlov
vladimir.koz...@oracle.com wrote:
 CCing to build-dev and JDK9-dev since it is top level changes.

 Note, it will go into staging aarch64 repo.

 Vladimir


 On 11/7/14 9:21 AM, Andrew Haley wrote:

 The first patch: top-level build machinery changes.

 http://cr.openjdk.java.net/~aph/8064357-rev-1/

 Andrew.




Re: RFR: AARCH64: Top-level JDK changes

2014-11-07 Thread Christian Thalinger

 On Nov 7, 2014, at 9:55 AM, Andrew Haley a...@redhat.com wrote:
 
 On 11/07/2014 05:42 PM, Christian Thalinger wrote:
 
 On Nov 7, 2014, at 9:21 AM, Andrew Haley a...@redhat.com wrote:
 
 The first patch: top-level build machinery changes.
 
 http://cr.openjdk.java.net/~aph/8064357-rev-1/ 
 http://cr.openjdk.java.net/~aph/8064357-rev-1/
 
 common/autoconf/flags.m4
 
 +aarch64)
 +  ZERO_ARCHFLAG=
 +  ;;
 
 Why is this required on aarch64 but not all the other architectures?
 
 I think it's because GCC rejects -m64”.

That’s interesting.  I thought -marchbits is some kind of common flag that 
works on all architectures.  Can someone verify this?

 
 Andrew.
 



Re: RFR: AARCH64: Top-level JDK changes

2014-11-07 Thread Andrew Haley
On 11/07/2014 06:10 PM, Christian Thalinger wrote:
 
 On Nov 7, 2014, at 9:55 AM, Andrew Haley a...@redhat.com wrote:

 On 11/07/2014 05:42 PM, Christian Thalinger wrote:

 On Nov 7, 2014, at 9:21 AM, Andrew Haley a...@redhat.com wrote:

 The first patch: top-level build machinery changes.

 http://cr.openjdk.java.net/~aph/8064357-rev-1/ 
 http://cr.openjdk.java.net/~aph/8064357-rev-1/

 common/autoconf/flags.m4

 +aarch64)
 +  ZERO_ARCHFLAG=
 +  ;;

 Why is this required on aarch64 but not all the other architectures?

 I think it's because GCC rejects -m64”.
 
 That’s interesting.  I thought -marchbits is some kind of common
 flag that works on all architectures.

No, all the -m stuff is target-dependent.

 Can someone verify this?

mustang-01:~ $ gcc -m64 hello.c
gcc: error: unrecognized command line option '-m64'
mustang-01:~ $ gcc --version
gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-16)

Andrew.


Re: RFR: AARCH64: Top-level JDK changes

2014-11-07 Thread Christian Thalinger

 On Nov 7, 2014, at 10:10 AM, Christian Thalinger 
 christian.thalin...@oracle.com wrote:
 
 
 On Nov 7, 2014, at 9:55 AM, Andrew Haley a...@redhat.com wrote:
 
 On 11/07/2014 05:42 PM, Christian Thalinger wrote:
 
 On Nov 7, 2014, at 9:21 AM, Andrew Haley a...@redhat.com wrote:
 
 The first patch: top-level build machinery changes.
 
 http://cr.openjdk.java.net/~aph/8064357-rev-1/ 
 http://cr.openjdk.java.net/~aph/8064357-rev-1/
 
 common/autoconf/flags.m4
 
 +aarch64)
 +  ZERO_ARCHFLAG=
 +  ;;
 
 Why is this required on aarch64 but not all the other architectures?
 
 I think it's because GCC rejects -m64”.
 
 That’s interesting.  I thought -marchbits is some kind of common flag that 
 works on all architectures.  Can someone verify this?

This page doesn’t list it (while x86, SPARC, and PowerPC pages do):

https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html 
https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html

I guess it’s good then.

 
 
 Andrew.



Re: RFR: AARCH64: Top-level JDK changes

2014-11-07 Thread Christian Thalinger

 On Nov 7, 2014, at 10:19 AM, Andrew Haley a...@redhat.com wrote:
 
 On 11/07/2014 06:10 PM, Christian Thalinger wrote:
 
 On Nov 7, 2014, at 9:55 AM, Andrew Haley a...@redhat.com wrote:
 
 On 11/07/2014 05:42 PM, Christian Thalinger wrote:
 
 On Nov 7, 2014, at 9:21 AM, Andrew Haley a...@redhat.com wrote:
 
 The first patch: top-level build machinery changes.
 
 http://cr.openjdk.java.net/~aph/8064357-rev-1/ 
 http://cr.openjdk.java.net/~aph/8064357-rev-1/
 
 common/autoconf/flags.m4
 
 +aarch64)
 +  ZERO_ARCHFLAG=
 +  ;;
 
 Why is this required on aarch64 but not all the other architectures?
 
 I think it's because GCC rejects -m64”.
 
 That’s interesting.  I thought -marchbits is some kind of common
 flag that works on all architectures.
 
 No, all the -m stuff is target-dependent.
 
 Can someone verify this?
 
 mustang-01:~ $ gcc -m64 hello.c
 gcc: error: unrecognized command line option '-m64'
 mustang-01:~ $ gcc --version
 gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-16)

Thanks :-)

 
 Andrew.



Re: RFR: AARCH64: Top-level JDK changes

2014-11-07 Thread Andrew Haley
On 11/07/2014 06:00 PM, Volker Simonis wrote:
 3. pull in the new version of config.guess and config.sub from [1]
 which already seem to have the changes you need.
 
 I'm all in favour of point three which would also allow us to get rid
 of some of the hacks which are currently in config.guess. And now, as
 we're still early in the jdk9 development the risk of doing this seems
 minimal, but let's see what the build-dev guy say?

So am I.  build-dev people, do you want me to import config.guess from
upstream?  I can create a new issue.

Andrew.



adjust-mflags mangles paths into arguments

2014-11-07 Thread Eric Reischer

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.