[CAUTION] RE: RFR JDK-8209786: gcc 7.3 compiler errors
Lindenmaier, Goetz
goetz.lindenmaier at sap.com
Fri Aug 24 07:20:18 UTC 2018
Hi,
maybe use -1LL or 0xfff...ULL ...
But please, this is still not the right list to discuss this.
Best regards,
Goetz.
> -----Original Message-----
> From: Keith Campbell <keithc at ca.ibm.com>
> Sent: Donnerstag, 23. August 2018 15:04
> To: Andrew Leonard <andrew_m_leonard at uk.ibm.com>
> Cc: Lindenmaier, Goetz <goetz.lindenmaier at sap.com>;
> joe.darcy at oracle.com; Schmidt, Lutz <lutz.schmidt at sap.com>; s390x-port-
> dev at openjdk.java.net
> Subject: Re: [CAUTION] RE: RFR JDK-8209786: gcc 7.3 compiler errors
>
> I agree, -(1>>3) isn't what we want, but leaving it as it was isn't guaranteed to
> yield the desired result.
>
> Instead, I suggest the right shifts should be applied to unsigned values:
> - mlib_u64 emask = (mlib_u64)((mlib_s64)(-1)) >> ((8 - (size - i)) * 8);
> + mlib_u64 emask = ((mlib_u64)(-1)) >> ((8 - (size - i)) * 8)
>
> -Keith
>
>
> ----- Original message -----
> From: Andrew Leonard/UK/IBM
> To: "Schmidt, Lutz" <lutz.schmidt at sap.com>, joe.darcy at oracle.com
> Cc: "Lindenmaier, Goetz" <goetz.lindenmaier at sap.com>, "s390x-
> port-dev at openjdk.java.net" <s390x-port-dev at openjdk.java.net>, Keith
> Campbell/Ottawa/IBM at IBMCA
> Subject: Re: [CAUTION] RE: RFR JDK-8209786: gcc 7.3 compiler errors
> Date: Thu, Aug 23, 2018 4:05 AM
>
> Thanks for the reviews guys,
> Lutz, yes, those "undefined" behaviour's is what gcc7.3 is now
> highlighting, and we're trying to fix.
>
> Goetz, I see what you're saying, I think we should leave the right
> shifts alone then, although as stated in Lutz's doc reference they are
> implementation-defined, I think the original code is trying to achieve the
> former 000111...111, I doubt it was trying to achieve 0!
> before, -1 >> 3 will result in something like 000111...111
> now -(1>>3) will result in 000....0000
>
> It is the left shirt of -ve values that is the real concern.
>
> Joe, also suggested we should tackle this by changing the compiler
> options rather than changing libfdlibm, which maybe the alternative as this
> source has not changed for a long time and maybe best to let working code
> remain unchanged, i'd have to investigate a compiler option fix...
>
> Keith, do you have any other views?
>
> 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
>
>
> "Schmidt, Lutz" ---22/08/2018 16:50:27---Hi Andrew, just recently I
> was confronted with a similar "shift issue" which prompted me to read th
>
> From: "Schmidt, Lutz" <lutz.schmidt at sap.com>
> To: "Lindenmaier, Goetz" <goetz.lindenmaier at sap.com>, Andrew
> Leonard <andrew_m_leonard at uk.ibm.com>, "s390x-port-
> dev at openjdk.java.net" <s390x-port-dev at openjdk.java.net>
> Date: 22/08/2018 16:50
> Subject: Re: [CAUTION] RE: RFR JDK-8209786: gcc 7.3 compiler errors
> ________________________________
>
>
>
>
> Hi Andrew,
> just recently I was confronted with a similar "shift issue" which
> prompted me to read the language standard (again). I have summarized my
> understanding in a little text file which you may find attached. Have fun
> reading!
> Best Regards,
> Lutz
>
> On 22.08.18, 09:18, "s390x-port-dev on behalf of Lindenmaier, Goetz"
> <s390x-port-dev-bounces at openjdk.java.net on behalf of
> goetz.lindenmaier at sap.com> wrote:
>
> Hi Andrew,
>
> please post this RFR to core-libs-dev.
>
> s390x-prot-dev is only for questions about the port etc.
> It is not for reviews that go to jdk/jdk.
>
> Also, I'm not sure that your change in java.desktop is correct.
> You now negate after shifting.
>
> - mlib_u64 emask = (mlib_u64)((mlib_s64)(-1)) >> ((8 - (size - i)) *
> 8);
> + mlib_u64 emask = (mlib_u64)-(((mlib_s64)1) >> ((8 - (size - i)) *
> 8));
>
> before, -1 >> 3 will result in something like 000111...111
> now -(1>>3) will result in 000....0000
>
> Best regards,
> Goetz.
>
>
>
>
>
>
>
>
> > -----Original Message-----
> > From: s390x-port-dev <s390x-port-dev-
> bounces at openjdk.java.net> On
> > Behalf Of Andrew Leonard
> > Sent: Dienstag, 21. August 2018 15:05
> > To: s390x-port-dev at openjdk.java.net
> > Subject: RFR JDK-8209786: gcc 7.3 compiler errors
> >
> > Hi,
> > 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:
> > - 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/gcc73/webrev.00/
> >
> > I'd like to request a sponsor for this fix please?
> >
> > Many 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
> >
> >
> > 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
>
>
> [attachment "cppShiftOperations.txt" deleted by Andrew
> Leonard/UK/IBM]
>
>
More information about the s390x-port-dev
mailing list