CLANG special case

Jim Laskey (Oracle) james.laskey at oracle.com
Tue Oct 6 19:23:26 UTC 2015


Since we are will to live with the de-optimization now, we should just remove the condition until proven otherwise. 


> On Oct 6, 2015, at 4:17 PM, Staffan Larsen <staffan.larsen at oracle.com> wrote:
> 
> When we upgraded to clang 6.3, I verified that the problem still existed. See: https://bugs.openjdk.java.net/browse/JDK-8077364 <https://bugs.openjdk.java.net/browse/JDK-8077364> which has pointers to the two tests that fail without the workaround.
> 
> /Staffan
> 
>> On 6 okt 2015, at 17:38, Phil Race <philip.race at oracle.com <mailto:philip.race at oracle.com>> wrote:
>> 
>> Ideally hotspot would review this, not build.
>> so it would be helpful if hotspot found an engineer to own the bug :-
>> https://bugs.openjdk.java.net/browse/JDK-8138820 <https://bugs.openjdk.java.net/browse/JDK-8138820>
>> So far as I know this is not tracked under any other bug id.
>> 
>> -phil.
>> 
>> On 10/06/2015 05:30 AM, Jim Laskey (Oracle) wrote:
>>> I’ve updated to El Capitan and, of course, builds fail, and, of course, I modify hotspot/make/bsd/makefiles/gcc.make one more time and…   I think this conditional clause should be removed at the very least (commenting to indicate needs investigation), or someone should research and see which version of clang fixes the issues associate with the patch.  Since it’s likely that no one has the cycles, please remove the condition.
>>> 
>>> Cheers,
>>> 
>>> — Jim
>>> 
>>> 
>>> 
>>> diff -r a02911828e48 make/bsd/makefiles/gcc.make
>>> --- a/make/bsd/makefiles/gcc.make	Wed Sep 30 07:41:36 2015 -0700
>>> +++ b/make/bsd/makefiles/gcc.make	Tue Oct 06 09:22:50 2015 -0300
>>> @@ -313,21 +313,13 @@
>>>    # Work around some compiler bugs.
>>>  ifeq ($(USE_CLANG), true)
>>> -  # Clang <= 6.1
>>> -  ifeq ($(shell expr \
>>> -      $(CC_VER_MAJOR) \< 6 \| \
>>> -      \( $(CC_VER_MAJOR) = 6 \& $(CC_VER_MINOR) \<= 1 \) \
>>> -    ), 1)
>>> -    OPT_CFLAGS/loopTransform.o += $(OPT_CFLAGS/NOOPT)
>>> -    OPT_CFLAGS/unsafe.o += -O1
>>> -  else
>>> -    $(error "Update compiler workarounds for Clang $(CC_VER_MAJOR).$(CC_VER_MINOR)")
>>> -  endif
>>> +  OPT_CFLAGS/loopTransform.o += $(OPT_CFLAGS/NOOPT)
>>> +  OPT_CFLAGS/unsafe.o += -O1
>>>  else
>>>    # 6835796. Problem in GCC 4.3.0 with mulnode.o optimized compilation.
>>>    ifeq ($(shell expr $(CC_VER_MAJOR) = 4 \& $(CC_VER_MINOR) = 3), 1)
>>>      OPT_CFLAGS/mulnode.o += $(OPT_CFLAGS/NOOPT)
>>> -  endif
>>> +  endif
>>>  endif
>>>    # Flags for generating make dependency flags.
>>> 
>> 
> 




More information about the build-dev mailing list