[9] RFR 8074840: Resolve disabled warnings for libjli and libjli_static
Mikael Vidstedt
mikael.vidstedt at oracle.com
Fri Mar 20 18:02:52 UTC 2015
Please review the following change which fixes a number of native
compilation warnings in files related to libjli.
Bug: https://bugs.openjdk.java.net/browse/JDK-8074840
Webrev: http://cr.openjdk.java.net/~mikael/webrevs/8074840/webrev.01/webrev/
I built the code across all the OracleJDK platforms and there were no
warnings on any of the platforms (in the files related to this change).
I'm taking suggestions on specific tests to run.
Some specifics:
Unfortunately there is no intrinsic for cpuid in Solaris Studio, so I
had to keep the inline asm code and the corresponding flag to disable
the related warning (E_ASM_DISABLES_OPTIMIZATION). The alternative would
be to move it out into a dedicated assembly file, but that seems like
more trouble than it's worth given that the warning is harmless.
I'm not entirely happy with the unsigned cast in parse_manifest.c:196,
but unfortunately the windows prototype for read() takes an unsigned as
its last argument, where All(tm) other platforms take a size_t. In this
specific case 'len' will never be be more than END_MAXLEN = 0xFFFF +
ENDHDR = 0xFFFF + 22 = 0x10015, meaning it will comfortably fit in an
unsigned on the platforms we support. But if somebody has suggestions
I'm all ears, doing the #ifdef dance is of course also an option.
Note that the warnings were temporarily disabled as part of JDK-8074096
[1] until such time they could be fixed the proper way. Also note that
this change supersedes the earlier change [2] Dmitry had out for review.
The bug [3] corresponding to that webrev will be closed as a duplicate
of this bug (JDK-8074839).
Cheers,
Mikael
[1] https://bugs.openjdk.java.net/browse/JDK-8074096
[2] http://cr.openjdk.java.net/~dsamersoff/JDK-8073175/webrev.01/
[3] https://bugs.openjdk.java.net/browse/JDK-8073175
More information about the core-libs-dev
mailing list