[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