Hi, So there seems to be varying opinion here, taking the 2D view point since it is going to be maintained, the opinion seems to be more with the fix ( http://cr.openjdk.java.net/~aleonard/8209786/webrev.00/). This would be my personal preference also, but previous comments seemed to prefer compiler options.
Looking at each error: - /libfdlibm/k_rem_pio2.c : This is a simple "for" loop bound check, which with good programming practice should really have been there to prevent ArrayOutOfBounds.. or native overwrites.. Simple fix. - libmlib_image/mlib_ImageLookUp_Bit.c : This is -ve bit shifting which is spec undefined, which in theory could mean it breaks in the future if we upgrade/change compiler... However, this is complex code, we need to be very sure the new fix is "correct", myself and my colleague here have examined it closely and are happy, but i'd appreciate your in-depth analysis please. Magnus, Philip, Brian, Goetz, can we have a vote? => "Fix" or "DisableWarnings" ? Thanks Andrew Andrew Leonard Java Runtimes Development IBM Hursley IBM United Kingdom Ltd Phone internal: 245913, external: 01962 815913 internet email: andrew_m_leon...@uk.ibm.com From: Magnus Ihse Bursie <magnus.ihse.bur...@oracle.com> To: Philip Race <philip.r...@oracle.com>, Brian Burkhalter <brian.burkhal...@oracle.com> Cc: 2d-dev <2d-...@openjdk.java.net>, build-dev <build-...@openjdk.java.net>, Andrew Leonard <andrew_m_leon...@uk.ibm.com>, core-libs-dev <core-libs-dev@openjdk.java.net> Date: 31/08/2018 09:27 Subject: Re: [OpenJDK 2D-Dev] RFR JDK-8209786: gcc 7.3 compiler errors on zLinux 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_leon...@uk.ibm.com <mailto:andrew_m_leon...@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_leon...@uk.ibm.com >>> <mailto:andrew_m_leon...@uk.ibm.com> >>> >>> >>> >>> >>> From: Magnus Ihse Bursie <magnus.ihse.bur...@oracle.com >>> <mailto:magnus.ihse.bur...@oracle.com>> >>> To: Andrew Leonard <andrew_m_leon...@uk.ibm.com >>> <mailto:andrew_m_leon...@uk.ibm.com>>, Brian Burkhalter >>> <brian.burkhal...@oracle.com <mailto:brian.burkhal...@oracle.com>> >>> Cc: core-libs-dev@openjdk.java.net >>> <mailto:core-libs-dev@openjdk.java.net>, build-dev >>> <build-...@openjdk.java.net <mailto:build-...@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_leon...@uk.ibm.com >>> <mailto:andrew_m_leon...@uk.ibm.com> >>> > >>> > >>> > >>> > >>> > From: Brian Burkhalter <brian.burkhal...@oracle.com >>> <mailto:brian.burkhal...@oracle.com>> >>> > To: Andrew Leonard <andrew_m_leon...@uk.ibm.com >>> <mailto:andrew_m_leon...@uk.ibm.com>> >>> > Cc: core-libs-dev@openjdk.java.net >>> <mailto:core-libs-dev@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_leon...@uk.ibm.com <mailto:andrew_m_leon...@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 >> 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