missing JNIEXPORT / JNICALL at some places in function declarations/implementations
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Thu Apr 5 15:45:06 UTC 2018
That's most likely a result of the new JNIEXPORT I added as part of the mapfile removal.
I tried to match header file and C file, but I can certainly have missed cases. If I didn't get any warnings, it was hard to know what I missed.
Please do submit your patch.
I'm a bit surprised 32-bit Window is still buildable. :)
> 5 apr. 2018 kl. 17:20 skrev Baesken, Matthias <matthias.baesken at sap.com>:
> Hello, we noticed that at a number of places in the coding , the JNIEXPORT and/or JNICALL modifiers do not match when one compares the declaration and
> The implementation of functions.
> While this is ok on most platforms, it seems to fail on Windows 32 bit and leads to errors like this one :
> e:/priv/openjdk/repos/jdk/src/java.desktop/share/native/libmlib_image/mlib_ImageConvKernelConvert.c(87) : error C2373: 'j2d_mlib_ImageConvKernelConvert' : redefinition; different type modifiers
> e:\priv\openjdk\repos\jdk\src\java.desktop\share\native\libmlib_image\mlib_image_proto.h(2630) : see declaration of 'j2d_mlib_ImageConvKernelConvert'
> (there are quite a few of these e.g. in mlib / splashscreen etc.)
> Another example is this one :
> diff -r 4d98473ed33e src/java.base/share/native/libjimage/jimage.hpp
> --- a/src/java.base/share/native/libjimage/jimage.hpp Thu Apr 05 09:55:16 2018 +0200
> +++ b/src/java.base/share/native/libjimage/jimage.hpp Thu Apr 05 17:07:40 2018 +0200
> @@ -126,7 +126,7 @@
> * JImageLocationRef location = (*JImageFindResource)(image,
> * "java.base", "9.0", "java/lang/String.class", &size);
> -extern "C" JNIEXPORT JImageLocationRef JIMAGE_FindResource(JImageFile* jimage,
> +extern "C" JNIEXPORT JImageLocationRef JNICALL JIMAGE_FindResource(JImageFile* jimage,
> const char* module_name, const char* version, const char* name,
> jlong* size);
> Is there some generic way to get the same declarations / impementations in the code ?
> Or should I just add a patch with my findings ?
> Best regards, Matthias
More information about the build-dev