[OpenJDK 2D-Dev] RFR JDK-8209786: gcc 7.3 compiler errors on zLinux

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Fri Aug 31 08:27:26 UTC 2018


On 2018-08-31 01:28, Philip Race wrote:
> Some day, I'd like to replace a lot of medialib functionality with 
> something
> like the proposed Vector API. But that is far enough away that 
> medialib needs
> to be maintained, and unlike a previous discussion about a similar 
> issue in
> the JPEG library, we are on the hook for maintaining medialib.
> So if there is an actual logic error in medialib, I'd prefer to fix it.
> If the issue is a false positive, I'd be OK to disable the warning, 
> but wrapped
> in a platform-specific manner. So is it a real error here ?

Gcc is emitting a warning due to shifting of negative values, which is 
deemed undefined behavior by the spec.

Is this a real error? Well. Undefined behavior is no good. It can work 
for now and then suddenly start breaking.

The originally suggested code change 
(http://cr.openjdk.java.net/~aleonard/8209786/webrev.00) seems 
reasonable to me. It is at the very least much clearer what the 
intention is. And it's conformant with the spec.

So I'd advocate using that fix, if you want to continue supporting the 
library.

/Magnus




>
> -phil.
>
> On 8/30/18, 3:37 PM, Brian Burkhalter wrote:
>> Hi Andrew,
>>
>> As noted in the issue comments, the fdlibm C code is obsolescent and 
>> eventually to be superseded by equivalent Java implementations. As 
>> for the mediaLib code being moribund I cannot speak but am copying 
>> 2d-dev which owns java.desktop.
>>
>> Thanks,
>>
>> Brian
>>
>> On Aug 30, 2018, at 6:03 AM, Andrew Leonard 
>> <andrew_m_leonard at uk.ibm.com <mailto:andrew_m_leonard at uk.ibm.com>> 
>> wrote:
>>
>>> Thanks Magnus,
>>> Yes, these libraries are moribound it seems, hence their preference 
>>> for compile options..
>>> Cheers
>>> Andrew
>>>
>>> Andrew Leonard
>>> Java Runtimes Development
>>> IBM Hursley
>>> IBM United Kingdom Ltd
>>> Phone internal: 245913, external: 01962 815913
>>> internet email: andrew_m_leonard at uk.ibm.com 
>>> <mailto:andrew_m_leonard at uk.ibm.com>
>>>
>>>
>>>
>>>
>>> From: Magnus Ihse Bursie <magnus.ihse.bursie at oracle.com 
>>> <mailto:magnus.ihse.bursie at oracle.com>>
>>> To: Andrew Leonard <andrew_m_leonard at uk.ibm.com 
>>> <mailto:andrew_m_leonard at uk.ibm.com>>, Brian Burkhalter 
>>> <brian.burkhalter at oracle.com <mailto:brian.burkhalter at oracle.com>>
>>> Cc: core-libs-dev at openjdk.java.net 
>>> <mailto:core-libs-dev at openjdk.java.net>, build-dev 
>>> <build-dev at openjdk.java.net <mailto:build-dev at openjdk.java.net>>
>>> Date: 30/08/2018 13:49
>>> Subject: Re: RFR JDK-8209786: gcc 7.3 compiler errors on zLinux
>>> ------------------------------------------------------------------------ 
>>>
>>>
>>>
>>>
>>> Andrew,
>>>
>>> If you want to make changes to the build system (files in make/*),
>>> please always include build-dev in the reviews.
>>>
>>> From a build point, this fix looks okay. My general preference is to
>>> fix shady code instead of disabling warnings, but in this case it's in
>>> two libraries that are either external or moribound, so if the
>>> maintainer's of the respective libraries want to avoid code changes, I
>>> accept that.
>>>
>>> /Magnus
>>>
>>>
>>> On 2018-08-30 14:18, Andrew Leonard wrote:
>>> > Hi Brian,
>>> > Thanks for taking a look at this, I have just done a rebuild with 
>>> a new
>>> > patch with appropriate gcc disable warnings for these libraries:
>>> > http://cr.openjdk.java.net/~aleonard/8209786/webrev.01/ 
>>> <http://cr.openjdk.java.net/%7Ealeonard/8209786/webrev.01/>
>>> > This works fine, so if you think this is a more favourable 
>>> approach for
>>> > these libraries? i'd like to get this merged please.
>>> > Thanks
>>> > Andrew
>>> >
>>> > Andrew Leonard
>>> > Java Runtimes Development
>>> > IBM Hursley
>>> > IBM United Kingdom Ltd
>>> > Phone internal: 245913, external: 01962 815913
>>> > internet email: andrew_m_leonard at uk.ibm.com 
>>> <mailto:andrew_m_leonard at uk.ibm.com>
>>> >
>>> >
>>> >
>>> >
>>> > From:   Brian Burkhalter <brian.burkhalter at oracle.com 
>>> <mailto:brian.burkhalter at oracle.com>>
>>> > To:     Andrew Leonard <andrew_m_leonard at uk.ibm.com 
>>> <mailto:andrew_m_leonard at uk.ibm.com>>
>>> > Cc: core-libs-dev at openjdk.java.net 
>>> <mailto:core-libs-dev at openjdk.java.net>
>>> > Date:   28/08/2018 15:52
>>> > Subject:        Re: RFR JDK-8209786: gcc 7.3 compiler errors on 
>>> zLinux
>>> >
>>> >
>>> >
>>> > Hi Andrew,
>>> >
>>> > It was suggested that it would be preferable to dial down the 
>>> compilation
>>> > settings for the fdlibm code rather than make a source code 
>>> change. Was
>>> > this investigated?
>>> >
>>> > Thanks,
>>> >
>>> > Brian
>>> >
>>> > On Aug 28, 2018, at 7:18 AM, Andrew Leonard 
>>> <andrew_m_leonard at uk.ibm.com <mailto:andrew_m_leonard at uk.ibm.com>>
>>> > wrote:
>>> >
>>> > We have discovered issues with gcc 7.3 on zLinux, combined with 
>>> OpenJDK's
>>> > default compiler options has highlighted a couple of native code 
>>> issues,
>>> > with undefined behaviours:
>>> >   - validating loop test array bounds
>>> >   - left shifts of negative values
>>> > I have created bug https://bugs.openjdk.java.net/browse/JDK-8209786
>>> > and attached the webrev fix here:
>>> > http://cr.openjdk.java.net/~aleonard/8209786/webrev.00/ 
>>> <http://cr.openjdk.java.net/%7Ealeonard/8209786/webrev.00/>
>>> >
>>> > This has already been discussed and refined on the "s390x-port-dev"
>>> > maillist
>>> > and as it was pointed out, it should have been posted here...
>>> >
>>> > I'd like to request a sponsor for this fix please?
>>> >
>>> >
>>> >
>>> >
>>> > Unless stated otherwise above:
>>> > IBM United Kingdom Limited - Registered in England and Wales with 
>>> number
>>> > 741598.
>>> > Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire 
>>> PO6 3AU
>>>
>>>
>>>
>>>
>>>
>>>
>>> Unless stated otherwise above:
>>> IBM United Kingdom Limited - Registered in England and Wales with 
>>> number 741598.
>>> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire 
>>> PO6 3AU
>>



More information about the core-libs-dev mailing list