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. :) /Magnus > 5 apr. 2018 kl. 17:20 skrev Baesken, Matthias <matthias.baes...@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 >