[OpenJDK 2D-Dev] JDK 9 build with GCC 6.1.1

Phil Race philip.race at oracle.com
Fri Jul 1 20:17:42 UTC 2016


Hi,

You have 3 reviewers (2 client, 1 build) so I am OK for this to be pushed.
If Kim comes back with some more information the a new fix can be devised ..

-phil.

On 06/29/2016 05:44 PM, Philip Race wrote:
> Hi,
>
> Not just yet. Whilst I am OK with it ...
>
> 1) We like 2 (two) reviewers to approve.
> 2) I would like Kim to reply to the questions so I understand
> his concerns first.
>
> -phil.
>
> On 6/29/16, 4:30 PM, Yasumasa Suenaga wrote:
>> Hi Kim, Phil,
>>
>> Can I push this patch?
>> It has been reviewed.
>>
>>   http://cr.openjdk.java.net/~ysuenaga/JDK-8160294/webrev.01/
>>
>>
>> Thanks,
>>
>> Yasumasa
>>
>>
>> On 2016/06/29 2:38, Phil Race wrote:
>>> On 06/27/2016 08:50 PM, Yasumasa Suenaga wrote:
>>>> Hi Kim,
>>>>
>>>> The newest changes for jdk repos is [1].
>>>> Erik points we should use DISABLED_WARNINGS_gcc to handle unknown 
>>>> warning tags. [2]
>>>> [1] is implemented with it.
>>>>
>>>> This change is already reviewed by 2d folks.
>>>> So I want to merge it ASAP.
>>>>
>>>> Do you have any objection?
>>>>
>>>>
>>>> Thanks,
>>>>
>>>> Yasumasa
>>>>
>>>>
>>>> [1] 
>>>> http://mail.openjdk.java.net/pipermail/2d-dev/2016-June/007090.html
>>>> [2] 
>>>> http://mail.openjdk.java.net/pipermail/jdk9-dev/2016-June/004499.html
>>>>
>>>>
>>>> On 2016/06/28 8:37, Kim Barrett wrote:
>>>>>> On Jun 25, 2016, at 9:57 AM, Yasumasa Suenaga 
>>>>>> <yasuenag at gmail.com> wrote:
>>>>>>
>>>>>> Hi all,
>>>>>>
>>>>>> This review request relates to [1].
>>>>>>
>>>>>> I've tried to build OpenJDK 9 at Fedora 24 x64.
>>>>>> Fedora 24 has GCC 6.1.1, and OpenJDK 9 build was failed.
>>>>>>
>>>>>> I fixed build error and several issues (VM crash and internal 
>>>>>> error) as below:
>>>>>>
>>>>>>  http://cr.openjdk.java.net/~ysuenaga/jdk9-for-gcc6/hotspot/
>>>>>>
>>>>>> Does someone work for it?
>>>>>> If no one works for it, I will file it to JBS and will send 
>>>>>> review request.
>>>>>>
>>>>>> For jdk repos, I've sent review request [2].
>>>>>>
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Yasumasa
>>>>>>
>>>>>>
>>>>>> [1] 
>>>>>> http://mail.openjdk.java.net/pipermail/jdk9-dev/2016-June/004494.html 
>>>>>>
>>>>>> [2] 
>>>>>> http://mail.openjdk.java.net/pipermail/2d-dev/2016-June/007081.html
>>>>>
>>>>> Having gone through these, I think all of them are arising due to
>>>>> build system problems, where we seem to have lost the compiler
>>>>> configuration to use explicit selection of the language standard and
>>>>> some additional options.
>>>
>>> Do tell more about what this means. Where would this previously have 
>>> been seen ?
>>> Different versions of Visual Studio / CLANG / GCC all emit different 
>>> warnings
>>> and it is not always monotonically increasing with compiler version, 
>>> and I
>>> can imagine someone might want to have different sets of flags in 
>>> general
>>> depending on compiler version in use, but I have not seen a pattern 
>>> of this
>>> being applied to the warnings on any of the platforms.
>>>
>>> in the makefile here there is just one special case of this ..
>>>
>>> 474 # Suppress gcc warnings like "variable might be clobbered by 
>>> 'longjmp'
>>>  475 # or 'vfork'": this warning indicates that some variable is 
>>> placed to
>>>  476 # a register by optimized compiler and it's value might be lost 
>>> on longjmp().
>>>  477 # Recommended way to avoid such warning is to declare the 
>>> variable as
>>>  478 # volatile to prevent the optimization. However, this approach 
>>> does not
>>>  479 # work because we have to declare all variables as volatile in 
>>> result.
>>>  480 #ifndef CROSS_COMPILE_ARCH
>>>  481 #  CC_43_OR_NEWER := \
>>>  482 #      $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
>>>  483 #          \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
>>>  484 #  ifeq ($(CC_43_OR_NEWER), 1)
>>>  485 #    BUILD_LIBJAVAJPEG_CFLAGS_linux += -Wno-clobbered
>>>  486 #  endif
>>>  487 #endif
>>>
>>>
>>>>>
>>>>> For now I think we should fix the build system problems, and file
>>>>> additional bugs or update existing ones as needed to fix the root
>>>>> causes of the problems encountered. I think many of the proposed
>>>>> changes do not address the root causes, and should not be made. See
>>>>> my comments for the specific bugs.
>>>>>
>>>>> I'm not on the mailing list where the jdk RFR was submitted.  I 
>>>>> took a
>>>>> look at them though, and
>>>>>
>>>>> ------------------------------------------------------------------------------ 
>>>>>
>>>>> make/lib/Awt2dLibraries.gmk
>>>>>  407 # Avoid warning for GCC 6
>>>>>  408 ifeq ($(TOOLCHAIN_TYPE), gcc)
>>>>>  409   LCMS_CFLAGS += -Wno-misleading-indentation
>>>>>  410 endif
>>>>>
>>>>>  926     # Avoid warning for GCC 6
>>>>>  927     ifeq ($(TOOLCHAIN_TYPE), gcc)
>>>>>  928       BUILD_LIBSPLASHSCREEN_jdhuff.c_CFLAGS += 
>>>>> -Wno-shift-negative-value
>>>>>  929       BUILD_LIBSPLASHSCREEN_jdphuff.c_CFLAGS += 
>>>>> -Wno-shift-negative-value
>>>>>  930     endif
>>>>>
>>>>> The -Wmisleading-indentation and -Wshift-negative-value options are
>>>>> new in gcc 6. gcc has for some time (starting with gcc 4.4) silently
>>>>> ignored unrecognized -Wno-XXX options. But some folks (like SAP) are
>>>>> still using older versions. So these will need to be conditionalized
>>>>> on the gcc version.
>>>>>
>>>>> ------------------------------------------------------------------------------ 
>>>>>
>>>>> src/java.desktop/share/native/libfontmanager/layout/SunLayoutEngine.cpp 
>>>>>
>>>>>  154   if (min < 0) min = 0;
>>>>>  155   if (max < min) max = min; /* defensive coding */
>>>>>
>>>>> [splitting the line]
>>>>>
>>>>> Seems like this would be suppressed by -Wno-misleading-indentation,
>>>>> especially since the reported warning is for that.  Why change both
>>>>> the code and the build configuration?
>>>
>>> Was that something seen in the original fix ? It is not in the 
>>> version I reviewed.
>>> The current version of the fix does not update the makefile to add this
>>> .. except for LCMS - which is a different library.
>>>
>>>
>>> -phil.
>>>
>>>>>
>>>>> ------------------------------------------------------------------------------ 
>>>>>
>>>>>
>>>>> The changes in AlphaMath.c and splashscreen_jpeg.c look ok.
>>>>>
>>>




More information about the 2d-dev mailing list