Need reviewer - jdk7u-osx Mac sanity check fixes

Mike Swingler swingler at apple.com
Mon Dec 19 17:46:34 PST 2011


On Dec 19, 2011, at 4:38 PM, Kelly O'Hair wrote:

> On Dec 19, 2011, at 4:11 PM, Mike Swingler wrote:
> 
>> On Dec 19, 2011, at 3:33 PM, Kelly O'Hair wrote:
>> 
>>> 
>>> Need reviewer for some sanity check fixes for jdk7u-osx (Mac)
>>> 
>>> 7123022: Fixing some Mac sanity checks
>>> http://cr.openjdk.java.net/~ohair/openjdk7/jdk7u-osx-jdk-sanity/webrev/
>> 
>> Looks good to me, except:
>> +  REQUIRED_COMPILER_NAME      = GCC4
>> +  REQUIRED_COMPILER_VERSION   = GCC4
>> 
>> The JDK should be buildable under both llvm-gcc (which it currently uses) and clang, which is the future, since llvm-gcc is now in maintenance mode.
>> 
>> If you are restricting your builders to Mac OS X 10.7 now, you can actually cut over to using clang soon, since it has no known bugs compiling the JDK (right Alex? I'm not completely hallucinating this right?)
> 
> The makefiles actually run gcc/g++ not llvm-gcc. Not sure it matters what the underlying implementation is
> in terms of this makefile checking.  gcc==llvm-gcc  It is just some words for the sanity check on the compiler version.
> 
> When we change to clang, then we can set CC=clang and use the name "AppleClang", version 3.0.
> I'm reluctant to change compilers without many team members verifying it.
> 
> <> gcc --version
> i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)
> Copyright (C) 2007 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> 
> <> clang --version
> Apple clang version 3.0 (tags/Apple/clang-211.12) (based on LLVM 3.0svn)
> Target: x86_64-apple-darwin11.2.0
> Thread model: posix
> 
> <> llvm-gcc --version
> i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)
> Copyright (C) 2007 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Ok, as long as it's clear to everyone that it's only the GCC parsing frontend, and the LLVM code-gen background which is really running. There hasn't been a GCC backend running in the default toolchain for quite a while.

It would be worth filing a bug into JDK8 to start compiling the Mac OS X port with clang from the start, so you'll be able to use a supported compiler baseline for the projected timeframe when JDK8 will be productized.

Regards,
Mike Swingler
Apple Inc.




More information about the jdk7u-dev mailing list