[OpenJDK 2D-Dev] JDK 9 build with GCC 6.1.1
Yasumasa Suenaga
yasuenag at gmail.com
Wed Jun 29 23:30:33 UTC 2016
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