hg: jdk8/build/jdk: 7150392: Linux build breaks with GCC 4.7 due to unrecognized option

2012-03-08 Thread ahughes
Changeset: fb3a2cafc230
Author:andrew
Date:  2012-03-08 14:04 +
URL:   http://hg.openjdk.java.net/jdk8/build/jdk/rev/fb3a2cafc230

7150392: Linux build breaks with GCC 4.7 due to unrecognized option
Summary: Remove -mimpure-text option.
Reviewed-by: ohair, dholmes, phh, andrew
Contributed-by: Deepak Bhole dbh...@redhat.com

! make/common/shared/Compiler-gcc.gmk
! src/share/demo/jvmti/compiledMethodLoad/sample.makefile.txt
! src/share/demo/jvmti/gctest/sample.makefile.txt
! src/share/demo/jvmti/heapTracker/sample.makefile.txt
! src/share/demo/jvmti/heapViewer/sample.makefile.txt
! src/share/demo/jvmti/hprof/sample.makefile.txt
! src/share/demo/jvmti/index.html
! src/share/demo/jvmti/java_crw_demo/sample.makefile.txt
! src/share/demo/jvmti/minst/sample.makefile.txt
! src/share/demo/jvmti/mtrace/sample.makefile.txt
! src/share/demo/jvmti/versionCheck/sample.makefile.txt
! src/share/demo/jvmti/waiters/sample.makefile.txt



Re: Patch to fix build breakage with GCC 4.7

2012-03-08 Thread Andrew Hughes
- Original Message -
 * Andrew Hughes ahug...@redhat.com [2012-03-02 10:09]:
  - Original Message -
   * Andrew Hughes ahug...@redhat.com [2012-03-01 15:40]:
- Original Message -
 * Kelly O'Hair kelly.oh...@oracle.com [2012-02-29 20:39]:
  The sample.makefile.txt files may not even be used during
  the
  build, I'm not sure.
  They may have only been supplied as documentation on how to
  build
  the native code.
  
  Deleting the -mimpure-text is probably right all around.
  
 
 Okay, so then looks like the first iteration should be OK for
 that:
 http://cr.openjdk.java.net/~dbhole/GCC-4.7-JDK8.00/
 
 If so, please go ahead and commit on my behalf as I can't.
 

Why can't you?  This is a jdk change.  Only HotSpot changes
have to
go through JPRT.

   
   I don't have commit access to jdk:
   http://openjdk.java.net/census#dbhole
   
  
  Oh as 'author' you mean?  I have to admit I'm still confused by
  these
  new bylaws and rules.
  
  Presumably I can push it on your behalf as jdk8 reviewer.
  
 
 Sure, that'd be great. Thanks!
 

Done: http://hg.openjdk.java.net/jdk8/build/jdk/rev/fb3a2cafc230

 Deepak
 
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F  8F91 3B96 A578 248B DC07



RFR (M): Enable OpenJDK builds on Windows with MinGW/MSYS

2012-03-08 Thread Volker Simonis
Hi,

please review the following changes which make it possible to use MinGW/MSYS as
underlying build environment for Windows. Because the changes touch several
repositories I prepared three webrevs, all relative to
http://hg.openjdk.java.net/jdk8/build

For the main repository:
http://cr.openjdk.java.net/~simonis/MinGW_MSYS.v1/

For the HotSpot repository:
http://cr.openjdk.java.net/~simonis/MinGW_MSYS_hotspot.v1/

For the JDK repository
http://cr.openjdk.java.net/~simonis/MinGW_MSYS_jdk.v1/

Please be so kind and also create three bug ids for the corresponding changes.

The changes are minimal in the sense that I did just enough changes to be able
to build on Windows with either one of the three Unix emulation environments
(MKS, Cygwin, MinGW/MSYS).

The main benefits of the new MinGW/MSYS based Windows build are:
 - no problems with make - one can simply use the make tool which comes with
   MinGW/MSYS
 - with the current MinGW/MSYS version the build is known to succeed, while
   the newest Cygwin 1.7.10 version is known to break the OpenJDK build (see:
   http://old.nabble.com/Is-anyone-able-to-build-on-Win-7-td33196055.html)
 - speed - the MinGW/MSYS build times are comparable to the MKS build times
   and is at least 50% faster than the Cygwin build times (see numbers below)

The changes are intentionally against the old, traditional build system to fix
the mentioned Cygwin problems and simplify the Windows build just now. I don't
expect any problems in adapting the new build infrastructure to MinGW/MSYS as
well in a follow-up step.

More information on each change can be found in the corresponding webrevs.

Timing results for the different build environments (MKS ver. 9.4, Cygwin
ver. 1.7.9, MinGW/MSYS 1.0.17) for a full JDK 8 product build on a freshly
booted, dual core i7 notebook with 8GB RAM, HDD and 64-bit Windows 7: /p

MKS
-- Build times --
Target all_product_build
Start 2012-02-29 19:19:26
End   2012-02-29 20:07:44
00:03:10 corba
00:03:44 hotspot
00:00:30 jaxp
00:00:37 jaxws
00:39:39 jdk
00:00:36 langtools
00:48:18 TOTAL
-

MinGW/MSYS
-- Build times --
Target all_product_build
Start 2012-02-29 18:16:31
End   2012-02-29 19:10:59
00:02:57 corba
00:03:04 hotspot
00:00:32 jaxp
00:00:40 jaxws
00:46:36 jdk
00:00:36 langtools
00:54:28 TOTAL
-

Cygwin
-- Build times --
Target all_product_build
Start 2012-02-29 14:36:50
End   2012-02-29 16:05:50
00:05:47 corba
00:03:24 hotspot
00:00:33 jaxp
00:00:43 jaxws
01:17:45 jdk
00:00:39 langtools
01:29:00 TOTAL
-

Regards,
Volker


Re: Is anyone able to build on Win 7

2012-03-08 Thread Kelly O'Hair
An interesting tidbit...

I was talking to the JavaFX RE team which does builds on Windows XP and Windows 
2003 X64.
They have always used CYGWIN for builds, but there isn't many Makefiles used on 
Windows, it's
mostly Ant scripts. So CYGWIN is used but probably not a major player. No MKS 
was ever used.
Both windows builds had been the long pole, maybe 2 hours each, and past 
experiments showed that
using physical hardware rather than VMware virtual machines could reduce the 
builds to about 1hour.
So we knew that VMs would cost us, but assumed that as we got faster hosts this 
would improve.

After McAfee was installed, the Windows XP builds went down the toilet, but the 
Windows X64
builds were not impacted as much. Apparently the policies in place for Windows 
XP (considered
a desktop environment) are considerably different from that of Windows 2003 
(considered a server
environment).

Another...

I now have 3 Windows 7 X64 systems I can now use to test jdk8 builds. I built 
the entire openjdk8
(hotspot included, product only) in slightly under an hour, just the Windows 
64bit product.
This is a VMware VM on a fully loaded X4170M2 system hosting just 6 VMs, each 
VM has 4 vCPUs
with lots of RAM.  This was using MKS 9.0p4

I can use it to do some additional experiments on Volker's changes, but it will 
take me a little time.

-kto

On Feb 15, 2012, at 4:10 AM, Fredrik Öhrström wrote:

 - kelly.oh...@oracle.com skrev:
 
 So I'm with you on the stat() theory, makes a great deal of sense.
 
 The stat theory is very interesting, but it is unclear to me if it explains 
 all of the problem.
 
 I setup a quadruple boot x86_64 machine with 4GB of ram and 4 cores:
 Winxp 32bit
 Win7 64bit
 Solaris 64bit
 Ubuntu 64bit
 
 And tested the build times on the different OS:es.
 
 Ubuntu Fastest by far.
 
 Solaris, slower, but this is only because of bad CC performance.
 
 Winxp, even slower but still ok.
 
 Win7, ridiculously slow. The configure script prints one line per second!
 
 Clearly, just running a bash script in cygwin/win7/64bit is problematic.
 If we get 10% speedup from dash, then that is not going to help because
 the slowdown is a factor 10.
 
 Could someone try out the difference between a 32bit win7 clean install and a 
 64 bit win7 clean install when running the latest cygwin and just the 
 build-infra/jdk8/common/autoconf/configure script?
 
 (My patience for installing many OSes into the same box, just ran out. And 
 virtualization
 testing can give a hint, but cannot be entirely trusted.)
 
 //Fredrik



Re: RFR (M): Enable OpenJDK builds on Windows with MinGW/MSYS

2012-03-08 Thread Kelly O'Hair

On Mar 8, 2012, at 9:39 AM, Volker Simonis wrote:

 Hi,
 
 please review the following changes which make it possible to use MinGW/MSYS 
 as
 underlying build environment for Windows. Because the changes touch several
 repositories I prepared three webrevs, all relative to
 http://hg.openjdk.java.net/jdk8/build
 
 For the main repository:
 http://cr.openjdk.java.net/~simonis/MinGW_MSYS.v1/

I had originally purged all mention of MKS from this README because we wanted 
to stop
using it in favor of CYGWIN, and only maintain one way to build on Windows.
That never happened internally, many kept using MKS because it was so much 
faster.
So as much as I hate seeing the MKS instructions being added, I understand why 
you felt
compelled to add them, and see no obvious inaccuracies 

We didn't  have any plans to continue to support MKS with the new build 
infrastructure work.
It creates a complication that we wanted to avoid, but at the same time we are 
running into
the CYGWIN is too slow, especially on 64bit Windows problem.
So we will need to discuss this on the build-infra-dev alias.

Since this change is just README, and I see nothing wrong with regards to your 
changes,
it seems ok, with the caveat that if we end up really abandoning MKS, we may 
need to purge
the MKS references.  I just don't know what will happen here right now.

 
 For the HotSpot repository:
 http://cr.openjdk.java.net/~simonis/MinGW_MSYS_hotspot.v1/

Seems fine. This change could probably proceed regardless of the others I think.
But someone from the hotspot team may need to help here or maybe I could do 
it...

Was the /option to -option a style issue, or was it required somehow? Just 
curious, I have
no objection to making it consistent.

Also, the quotes on the paths..  any particular reason why?

 
 For the JDK repository
 http://cr.openjdk.java.net/~simonis/MinGW_MSYS_jdk.v1/

Seems fine but unfortunately, we have other closed repos that might be impacted 
here.
The cpio change concerns me, not that I'm in love with cpio, I tried to get rid 
of it
a long time ago, but it was so much faster than tar for some reason.
So I'll need to make sure the entire Oracle JDK build process is ok with these 
changes
before this could go in.

Right now I'm not so concerned about using MinGW/MSYS as making sure the 
existing
builds are not broken. But I am looking forward to using MinGW/MSYS soon.

I may need to enlist someone to do some image comparisons and double check that 
the
end result has not changed too.

 
 Please be so kind and also create three bug ids for the corresponding changes.

Created:
7152336: Enable builds on Windows with MinGW/MSYS

I think we can use the same CR for all repos. Unless you really want 3 CRs.

 
 The changes are minimal in the sense that I did just enough changes to be 
 able
 to build on Windows with either one of the three Unix emulation environments
 (MKS, Cygwin, MinGW/MSYS).
 
 The main benefits of the new MinGW/MSYS based Windows build are:
 - no problems with make - one can simply use the make tool which comes with
   MinGW/MSYS
 - with the current MinGW/MSYS version the build is known to succeed, while
   the newest Cygwin 1.7.10 version is known to break the OpenJDK build (see:
   http://old.nabble.com/Is-anyone-able-to-build-on-Win-7-td33196055.html)
 - speed - the MinGW/MSYS build times are comparable to the MKS build times
   and is at least 50% faster than the Cygwin build times (see numbers below)

That 50% faster is great news.

 
 The changes are intentionally against the old, traditional build system to 
 fix
 the mentioned Cygwin problems and simplify the Windows build just now. I don't
 expect any problems in adapting the new build infrastructure to MinGW/MSYS 
 as
 well in a follow-up step.
 
 More information on each change can be found in the corresponding webrevs.
 
 Timing results for the different build environments (MKS ver. 9.4, Cygwin
 ver. 1.7.9, MinGW/MSYS 1.0.17) for a full JDK 8 product build on a freshly
 booted, dual core i7 notebook with 8GB RAM, HDD and 64-bit Windows 7: /p
 
 MKS
 -- Build times --
 Target all_product_build
 Start 2012-02-29 19:19:26
 End   2012-02-29 20:07:44
 00:03:10 corba
 00:03:44 hotspot
 00:00:30 jaxp
 00:00:37 jaxws
 00:39:39 jdk
 00:00:36 langtools
 00:48:18 TOTAL
 -
 
 MinGW/MSYS
 -- Build times --
 Target all_product_build
 Start 2012-02-29 18:16:31
 End   2012-02-29 19:10:59
 00:02:57 corba
 00:03:04 hotspot
 00:00:32 jaxp
 00:00:40 jaxws
 00:46:36 jdk
 00:00:36 langtools
 00:54:28 TOTAL
 -
 
 Cygwin
 -- Build times --
 Target all_product_build
 Start 2012-02-29 14:36:50
 End   2012-02-29 16:05:50
 00:05:47 corba
 00:03:24 hotspot
 00:00:33 jaxp
 00:00:43 jaxws
 01:17:45 jdk
 00:00:39 langtools
 01:29:00 TOTAL
 -
 

Excellent details.  Thanks.

I'll definitely work with you to get these changes integrated.


-kto

 Regards,
 Volker



Re: RFR (M): Enable OpenJDK builds on Windows with MinGW/MSYS

2012-03-08 Thread David Holmes

On 9/03/2012 5:58 AM, Kelly O'Hair wrote:

On Mar 8, 2012, at 9:39 AM, Volker Simonis wrote:

Please be so kind and also create three bug ids for the corresponding changes.


Created:
7152336: Enable builds on Windows with MinGW/MSYS

I think we can use the same CR for all repos. Unless you really want 3 CRs.


You need at least two CRs as hotspot's must be separate: different 
product, release target, build numbers etc.


David



The changes are minimal in the sense that I did just enough changes to be able
to build on Windows with either one of the three Unix emulation environments
(MKS, Cygwin, MinGW/MSYS).

The main benefits of the new MinGW/MSYS based Windows build are:
- no problems with make - one can simply use the make tool which comes with
   MinGW/MSYS
- with the current MinGW/MSYS version the build is known to succeed, while
   the newest Cygwin 1.7.10 version is known to break the OpenJDK build (see:
   http://old.nabble.com/Is-anyone-able-to-build-on-Win-7-td33196055.html)
- speed - the MinGW/MSYS build times are comparable to the MKS build times
   and is at least 50% faster than the Cygwin build times (see numbers below)


That 50% faster is great news.



The changes are intentionally against the old, traditional build system to fix
the mentioned Cygwin problems and simplify the Windows build just now. I don't
expect any problems in adapting the new build infrastructure to MinGW/MSYS as
well in a follow-up step.

More information on each change can be found in the corresponding webrevs.

Timing results for the different build environments (MKS ver. 9.4, Cygwin
ver. 1.7.9, MinGW/MSYS 1.0.17) for a full JDK 8 product build on a freshly
booted, dual core i7 notebook with 8GB RAM, HDD and 64-bit Windows 7:/p

MKS
-- Build times --
Target all_product_build
Start 2012-02-29 19:19:26
End   2012-02-29 20:07:44
00:03:10 corba
00:03:44 hotspot
00:00:30 jaxp
00:00:37 jaxws
00:39:39 jdk
00:00:36 langtools
00:48:18 TOTAL
-

MinGW/MSYS
-- Build times --
Target all_product_build
Start 2012-02-29 18:16:31
End   2012-02-29 19:10:59
00:02:57 corba
00:03:04 hotspot
00:00:32 jaxp
00:00:40 jaxws
00:46:36 jdk
00:00:36 langtools
00:54:28 TOTAL
-

Cygwin
-- Build times --
Target all_product_build
Start 2012-02-29 14:36:50
End   2012-02-29 16:05:50
00:05:47 corba
00:03:24 hotspot
00:00:33 jaxp
00:00:43 jaxws
01:17:45 jdk
00:00:39 langtools
01:29:00 TOTAL
-



Excellent details.  Thanks.

I'll definitely work with you to get these changes integrated.


-kto


Regards,
Volker




Re: RFR (M): Enable OpenJDK builds on Windows with MinGW/MSYS

2012-03-08 Thread David Holmes

Hi Volker,

On 9/03/2012 3:39 AM, Volker Simonis wrote:

please review the following changes which make it possible to use MinGW/MSYS as
underlying build environment for Windows. Because the changes touch several
repositories I prepared three webrevs, all relative to
http://hg.openjdk.java.net/jdk8/build

For the main repository:
http://cr.openjdk.java.net/~simonis/MinGW_MSYS.v1/


Saw one typo: fastes


For the HotSpot repository:
http://cr.openjdk.java.net/~simonis/MinGW_MSYS_hotspot.v1/


I'm mainly looking at this from the does it break anything 
perspective, but note that in


make/windows/makefiles/defs.make

SYSTEM_UNAME is only set when doing a full build (JDK/control). If you 
just try to build hotspot this will not be set, so I expect you will 
want to change this.


I was also wondering about the / to - changes but see in the 
README-builds.html changes that MSYS might otherwise misinterpret them.


make/windows/makefiles/rules.make

As Kelly said: why the quotes? Does MinGW not handle spaces in paths the 
way Cygwin does?


make/windows/makefiles/sa.make

So changes from \ to / . Not sure about this. Seems odd that we had a 
mix of \ and / to start with so I can't help but wonder if there was 
some Cygwin issue that this was addressing. I guess as long as it works 
then it is okay in that sense.


Cheers,
David
---


For the JDK repository
http://cr.openjdk.java.net/~simonis/MinGW_MSYS_jdk.v1/

Please be so kind and also create three bug ids for the corresponding changes.

The changes are minimal in the sense that I did just enough changes to be able
to build on Windows with either one of the three Unix emulation environments
(MKS, Cygwin, MinGW/MSYS).

The main benefits of the new MinGW/MSYS based Windows build are:
  - no problems with make - one can simply use the make tool which comes with
MinGW/MSYS
  - with the current MinGW/MSYS version the build is known to succeed, while
the newest Cygwin 1.7.10 version is known to break the OpenJDK build (see:
http://old.nabble.com/Is-anyone-able-to-build-on-Win-7-td33196055.html)
  - speed - the MinGW/MSYS build times are comparable to the MKS build times
and is at least 50% faster than the Cygwin build times (see numbers below)

The changes are intentionally against the old, traditional build system to fix
the mentioned Cygwin problems and simplify the Windows build just now. I don't
expect any problems in adapting the new build infrastructure to MinGW/MSYS as
well in a follow-up step.

More information on each change can be found in the corresponding webrevs.

Timing results for the different build environments (MKS ver. 9.4, Cygwin
ver. 1.7.9, MinGW/MSYS 1.0.17) for a full JDK 8 product build on a freshly
booted, dual core i7 notebook with 8GB RAM, HDD and 64-bit Windows 7:/p

MKS
-- Build times --
Target all_product_build
Start 2012-02-29 19:19:26
End   2012-02-29 20:07:44
00:03:10 corba
00:03:44 hotspot
00:00:30 jaxp
00:00:37 jaxws
00:39:39 jdk
00:00:36 langtools
00:48:18 TOTAL
-

MinGW/MSYS
-- Build times --
Target all_product_build
Start 2012-02-29 18:16:31
End   2012-02-29 19:10:59
00:02:57 corba
00:03:04 hotspot
00:00:32 jaxp
00:00:40 jaxws
00:46:36 jdk
00:00:36 langtools
00:54:28 TOTAL
-

Cygwin
-- Build times --
Target all_product_build
Start 2012-02-29 14:36:50
End   2012-02-29 16:05:50
00:05:47 corba
00:03:24 hotspot
00:00:33 jaxp
00:00:43 jaxws
01:17:45 jdk
00:00:39 langtools
01:29:00 TOTAL
-

Regards,
Volker


Re: Cross Compiling

2012-03-08 Thread David Holmes

Martin,

On 9/03/2012 3:40 AM, martin burtscher wrote:

Hello,

can anybody confirm, that cross compiling is working with make flags:

CROSS_COMPILE_ARCH
ALT_COMPILER_PATH?

With confirm i mean tested and not just read in readme, because theres
also a BUILD_HEADLESS_ONLY in the readme which doesn't work.


Cross-compilation works for our internal builds - but they only change 
processor architecture and not the OS (they are all Linux).


I don't know whether anyone outside Oracle is using this means of 
cross-compiling as they also need the actual target platform sources, 
and those tend to come from other projects (IcedTea, Zero, Shark) with 
their own build mechanisms.


David


Thanks.

Martin


Re: Cross Compiling

2012-03-08 Thread David Holmes

On 9/03/2012 9:20 AM, David Holmes wrote:

On 9/03/2012 3:40 AM, martin burtscher wrote:

can anybody confirm, that cross compiling is working with make flags:

CROSS_COMPILE_ARCH
ALT_COMPILER_PATH?

With confirm i mean tested and not just read in readme, because theres
also a BUILD_HEADLESS_ONLY in the readme which doesn't work.


Cross-compilation works for our internal builds - but they only change
processor architecture and not the OS (they are all Linux).


Actually there is a piece missing in the README. You may also have to 
set the ARCH make variable for the desired architecture. However if you 
are 'cross compiling for x86 that would be a problem because the JDK 
side of the build and the Hotspot side of the build use different ARCH 
values for 32-bit x86 (i586 and i686 respectively).


I'm not sure if setting CROSS_COMPILE_ARCH=i586 by itself will work. I'm 
trying it out now.


David
-


I don't know whether anyone outside Oracle is using this means of
cross-compiling as they also need the actual target platform sources,
and those tend to come from other projects (IcedTea, Zero, Shark) with
their own build mechanisms.

David


Thanks.

Martin


hg: jdk8/build/jaxws: 7152425: Fix copyright notices on 12 files in jaxws

2012-03-08 Thread kelly . ohair
Changeset: c46e0b6e3f98
Author:ohair
Date:  2012-03-08 18:20 -0800
URL:   http://hg.openjdk.java.net/jdk8/build/jaxws/rev/c46e0b6e3f98

7152425: Fix copyright notices on 12 files in jaxws
Reviewed-by: mbykov

! src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/ws/EnvelopeStyle.java
! 
src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/ws/EnvelopeStyleFeature.java
! 
src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/ws/databinding/Databinding.java
! 
src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/ws/databinding/DatabindingFactory.java
! 
src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/ws/databinding/DatabindingMode.java
! 
src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/ws/databinding/DatabindingModeFeature.java
! 
src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/ws/databinding/JavaCallInfo.java
! 
src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/ws/message/ContentType.java
! 
src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/ws/message/DistributedPropertySet.java
! 
src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/ws/message/MessageContext.java
! 
src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/ws/message/MessageContextFactory.java
! 
src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/ws/message/PropertySet.java