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