RFR (M): Enable HotSpot build with Clang
David Holmes
david.holmes at oracle.com
Fri May 31 00:41:16 PDT 2013
I think this is mainly targetted at Volker but ...
On 31/05/2013 4:32 AM, Christian Thalinger wrote:
>> Here is what I have after merging in your new changes:
>>
>> http://cr.openjdk.java.net/~twisti/8015252/webrev/
>>
>> I see two problems:
>>
>> 1) It's not possible to turn off precompiled headers because of this:
>>
>> + ifeq ($(USE_CLANG), true)
>> + # clang has precompiled headers support by default, but the user can switch
>> + # it off by using 'USE_PRECOMPILED_HEADER=0' on the compile command line.
>> + ifdef LP64
>> + USE_PRECOMPILED_HEADER=1
>> + else
>
> Let me rephrase that: at least not with an environment variable.
In this block:
! ifeq ($(USE_CLANG), true)
! # clang has precompiled headers support by default, but the user can
switch
! # it off by using 'USE_PRECOMPILED_HEADER=0' on the compile command
line.
! ifdef LP64
! USE_PRECOMPILED_HEADER=1
! else
! # We don't support precompiled headers on 32-bit builds because
there some files are
! # compiled with -fPIC while others are compiled without (see
'NONPIC_OBJ_FILES' rules.make)
! # Clang produces an error if the PCH file was comiled with other
options than the actual compilation unit.
! USE_PRECOMPILED_HEADER=0
! endif
I think the LP64 case should be guarded by "ifeq
($(USE_PRECOMPILED_HEADERS),)".
The comment "on the compile command line" should be "on the make command
line" I think.
Typo: comiled
David
-----
> -- Chris
>
>>
>> 2) If I compile with clang on Mac and run the compiler regression tests a lot of them fail but they work with a debug VM. So it seems that one of the files is broken with optimization on (-Os or -O3; -O0 is okay).
>>
>> Do you have any problems on Linux?
>>
>> -- Chris
>>
>>>
>>>>
>>>> David
>>>> -----
>>>>
>>>>> Please notice that I won't be in the office until the 3rd of June.
>>>>> Should you have any further change requests please feel free to edit the
>>>>> patch yourself if you like.
>>>>>
>>>>> Regards,
>>>>> Volker
>>>>>
>>>>> -- Chris
>>>>>
>>>>>> -- Chris
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> But you can say the exact same thing about the Solaris
>>>>>>> gcc support.
>>>>>>>
>>>>>>> Btw. I just trying to resurrect this.
>>>>>>>
>>>>>>> -- Chris
>>>>>>>
>>>>>>>>
>>>>>>>> David
>>>>>>>> -----
>>>>>>>>
>>>>>>>>> Once it's in we could start with the JDK forest and
>>>>>>> the configure part
>>>>>>>>> in the base repository. That would require two extra
>>>>>>> change sets anyway.
>>>>>>>>> The HotSpot build currently isn't very
>>>>>>> configure-agnostic anyway and
>>>>>>>>> once the other parts have been completed, configure
>>>>>>> could just pass
>>>>>>>>> USE_CLANG=true (plus perhaps some extra variables in
>>>>>>> the case we have
>>>>>>>>> more than one clang version on the system) to the
>>>>>>> HotSpot build and
>>>>>>>>> everything should work.
>>>>>>>>> As a last step we would have to test on Mac as well.
>>>>>>> I currently don't
>>>>>>>>> have one at hand, but sponsors are always welcome:)
>>>>>>>>>
>>>>>>>>> Volker
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> David H.
>>>>>>>>>
>>>>>>>>> -- Chris
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> David
>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>
>>
>
More information about the hotspot-runtime-dev
mailing list