--- old/src/java.base/share/native/libjimage/jimage.cpp 2018-03-28 12:27:35.718049128 +0200 +++ new/src/java.base/share/native/libjimage/jimage.cpp 2018-03-28 12:27:35.486049130 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -55,7 +55,8 @@ * } * ... */ -extern "C" JImageFile* JIMAGE_Open(const char *name, jint* error) { +extern "C" JNIEXPORT JImageFile* JNICALL +JIMAGE_Open(const char *name, jint* error) { // TODO - return a meaningful error code *error = 0; ImageFileReader* jfile = ImageFileReader::open(name); @@ -71,7 +72,8 @@ * Ex. * (*JImageClose)(image); */ -extern "C" void JIMAGE_Close(JImageFile* image) { +extern "C" JNIEXPORT void JNICALL +JIMAGE_Close(JImageFile* image) { ImageFileReader::close((ImageFileReader*) image); } @@ -87,7 +89,8 @@ * tty->print_cr(package); * -> java.base */ -extern "C" const char* JIMAGE_PackageToModule(JImageFile* image, const char* package_name) { +extern "C" JNIEXPORT const char* JNICALL +JIMAGE_PackageToModule(JImageFile* image, const char* package_name) { return ((ImageFileReader*) image)->get_image_module_data()->package_to_module(package_name); } @@ -105,7 +108,8 @@ * JImageLocationRef location = (*JImageFindResource)(image, * "java.base", "9.0", "java/lang/String.class", &size); */ -extern "C" JImageLocationRef JIMAGE_FindResource(JImageFile* image, +extern "C" JNIEXPORT JImageLocationRef JNICALL +JIMAGE_FindResource(JImageFile* image, const char* module_name, const char* version, const char* name, jlong* size) { // Concatenate to get full path @@ -151,7 +155,8 @@ * char* buffer = new char[size]; * (*JImageGetResource)(image, location, buffer, size); */ -extern "C" jlong JIMAGE_GetResource(JImageFile* image, JImageLocationRef location, +extern "C" JNIEXPORT jlong JNICALL +JIMAGE_GetResource(JImageFile* image, JImageLocationRef location, char* buffer, jlong size) { ((ImageFileReader*) image)->get_resource((u4) location, (u1*) buffer); return size; @@ -179,7 +184,8 @@ * } * (*JImageResourceIterator)(image, ctw_visitor, loader); */ -extern "C" void JIMAGE_ResourceIterator(JImageFile* image, +extern "C" JNIEXPORT void JNICALL +JIMAGE_ResourceIterator(JImageFile* image, JImageResourceVisitor_t visitor, void* arg) { ImageFileReader* imageFile = (ImageFileReader*) image; u4 nEntries = imageFile->table_length(); @@ -220,7 +226,8 @@ * char path[JIMAGE_MAX_PATH]; * (*JImageResourcePath)(image, location, path, JIMAGE_MAX_PATH); */ -extern "C" bool JIMAGE_ResourcePath(JImageFile* image, JImageLocationRef locationRef, +extern "C" JNIEXPORT bool JNICALL +JIMAGE_ResourcePath(JImageFile* image, JImageLocationRef locationRef, char* path, size_t max) { ImageFileReader* imageFile = (ImageFileReader*) image;