[CAUTION] RE: RFR JDK-8209786: gcc 7.3 compiler errors
Andrew Leonard
andrew_m_leonard at uk.ibm.com
Thu Aug 23 08:05:36 UTC 2018
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
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]
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 s390x-port-dev
mailing list