Created
December 19, 2025 09:57
-
-
Save ennerf/808fb6c4e0bc847a1556d2fe7e966ed2 to your computer and use it in GitHub Desktop.
src/main/resources/native/android/c/missing_symbols.c
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include <stdlib.h> | |
| // AWT: GraalVM native-image explicitly adds (unresolved) references that are not called, | |
| // but result in a loading error if not defined. See https://github.com/gluonhq/substrate/pull/1000#issuecomment-1152529456 | |
| // ============ Generate ============ | |
| /* | |
| nm target/gluonfx/aarch64-android/lib*.so | grep "U Java_" | awk '{print "void " $2 "() {\n fprintf(stderr, \"We should never reach here ("$2")\\n\");\n}\n"}' | |
| */ | |
| // ============ Compile ============ | |
| /* | |
| cd src/main/resources/native/android/c/ | |
| export ANDROID_NDK=~/.gluon/substrate/Android/ndk-bundle | |
| $ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -c -target aarch64-linux-android -I. missing_symbols.c | |
| // ============ Link ============ | |
| /* | |
| <plugins> | |
| <plugin> | |
| <groupId>com.gluonhq</groupId> | |
| <artifactId>gluonfx-maven-plugin</artifactId> | |
| <configuration> | |
| <linkerArgs> | |
| <arg>${project.basedir}/src/main/resources/native/android/c/missing_symbols.o</arg> | |
| </linkerArgs> | |
| </configuration> | |
| </plugin> | |
| </plugins> | |
| */ | |
| void Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_clearNativeReadAbortFlag() { | |
| fprintf(stderr, "We should never reach here (Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_clearNativeReadAbortFlag)\n"); | |
| } | |
| void Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_disposeReader() { | |
| fprintf(stderr, "We should never reach here (Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_disposeReader)\n"); | |
| } | |
| void Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_initJPEGImageReader() { | |
| fprintf(stderr, "We should never reach here (Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_initJPEGImageReader)\n"); | |
| } | |
| void Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_initReaderIDs() { | |
| fprintf(stderr, "We should never reach here (Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_initReaderIDs)\n"); | |
| } | |
| void Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_readImage() { | |
| fprintf(stderr, "We should never reach here (Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_readImage)\n"); | |
| } | |
| void Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_readImageHeader() { | |
| fprintf(stderr, "We should never reach here (Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_readImageHeader)\n"); | |
| } | |
| void Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_resetLibraryState() { | |
| fprintf(stderr, "We should never reach here (Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_resetLibraryState)\n"); | |
| } | |
| void Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_resetReader() { | |
| fprintf(stderr, "We should never reach here (Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_resetReader)\n"); | |
| } | |
| void Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_setOutColorSpace() { | |
| fprintf(stderr, "We should never reach here (Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_setOutColorSpace)\n"); | |
| } | |
| void Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_setSource() { | |
| fprintf(stderr, "We should never reach here (Java_com_sun_imageio_plugins_jpeg_JPEGImageReader_setSource)\n"); | |
| } | |
| void Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_disposeWriter() { | |
| fprintf(stderr, "We should never reach here (Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_disposeWriter)\n"); | |
| } | |
| void Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_initJPEGImageWriter() { | |
| fprintf(stderr, "We should never reach here (Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_initJPEGImageWriter)\n"); | |
| } | |
| void Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_initWriterIDs() { | |
| fprintf(stderr, "We should never reach here (Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_initWriterIDs)\n"); | |
| } | |
| void Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_resetWriter() { | |
| fprintf(stderr, "We should never reach here (Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_resetWriter)\n"); | |
| } | |
| void Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_setDest() { | |
| fprintf(stderr, "We should never reach here (Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_setDest)\n"); | |
| } | |
| void Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_writeImage() { | |
| fprintf(stderr, "We should never reach here (Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_writeImage)\n"); | |
| } | |
| void Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_writeTables() { | |
| fprintf(stderr, "We should never reach here (Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_writeTables)\n"); | |
| } | |
| void Java_java_awt_image_BufferedImage_initIDs() { | |
| fprintf(stderr, "We should never reach here (Java_java_awt_image_BufferedImage_initIDs)\n"); | |
| } | |
| void Java_java_awt_image_ColorModel_initIDs() { | |
| fprintf(stderr, "We should never reach here (Java_java_awt_image_ColorModel_initIDs)\n"); | |
| } | |
| void Java_java_awt_image_IndexColorModel_initIDs() { | |
| fprintf(stderr, "We should never reach here (Java_java_awt_image_IndexColorModel_initIDs)\n"); | |
| } | |
| void Java_java_awt_image_Raster_initIDs() { | |
| fprintf(stderr, "We should never reach here (Java_java_awt_image_Raster_initIDs)\n"); | |
| } | |
| void Java_java_awt_image_SampleModel_initIDs() { | |
| fprintf(stderr, "We should never reach here (Java_java_awt_image_SampleModel_initIDs)\n"); | |
| } | |
| void Java_java_awt_image_SinglePixelPackedSampleModel_initIDs() { | |
| fprintf(stderr, "We should never reach here (Java_java_awt_image_SinglePixelPackedSampleModel_initIDs)\n"); | |
| } | |
| void Java_sun_awt_image_BufImgSurfaceData_initIDs() { | |
| fprintf(stderr, "We should never reach here (Java_sun_awt_image_BufImgSurfaceData_initIDs)\n"); | |
| } | |
| void Java_sun_awt_image_ByteComponentRaster_initIDs() { | |
| fprintf(stderr, "We should never reach here (Java_sun_awt_image_ByteComponentRaster_initIDs)\n"); | |
| } | |
| void Java_sun_awt_image_BytePackedRaster_initIDs() { | |
| fprintf(stderr, "We should never reach here (Java_sun_awt_image_BytePackedRaster_initIDs)\n"); | |
| } | |
| void Java_sun_awt_image_IntegerComponentRaster_initIDs() { | |
| fprintf(stderr, "We should never reach here (Java_sun_awt_image_IntegerComponentRaster_initIDs)\n"); | |
| } | |
| void Java_sun_awt_image_ShortComponentRaster_initIDs() { | |
| fprintf(stderr, "We should never reach here (Java_sun_awt_image_ShortComponentRaster_initIDs)\n"); | |
| } | |
| void Java_sun_java2d_Disposer_initIDs() { | |
| fprintf(stderr, "We should never reach here (Java_sun_java2d_Disposer_initIDs)\n"); | |
| } | |
| void Java_sun_java2d_SurfaceData_initIDs() { | |
| fprintf(stderr, "We should never reach here (Java_sun_java2d_SurfaceData_initIDs)\n"); | |
| } | |
| void Java_sun_java2d_cmm_lcms_LCMS_colorConvert() { | |
| fprintf(stderr, "We should never reach here (Java_sun_java2d_cmm_lcms_LCMS_colorConvert)\n"); | |
| } | |
| void Java_sun_java2d_cmm_lcms_LCMS_createNativeTransform() { | |
| fprintf(stderr, "We should never reach here (Java_sun_java2d_cmm_lcms_LCMS_createNativeTransform)\n"); | |
| } | |
| void Java_sun_java2d_cmm_lcms_LCMS_getProfileDataNative() { | |
| fprintf(stderr, "We should never reach here (Java_sun_java2d_cmm_lcms_LCMS_getProfileDataNative)\n"); | |
| } | |
| void Java_sun_java2d_cmm_lcms_LCMS_getProfileID() { | |
| fprintf(stderr, "We should never reach here (Java_sun_java2d_cmm_lcms_LCMS_getProfileID)\n"); | |
| } | |
| void Java_sun_java2d_cmm_lcms_LCMS_getTagNative() { | |
| fprintf(stderr, "We should never reach here (Java_sun_java2d_cmm_lcms_LCMS_getTagNative)\n"); | |
| } | |
| void Java_sun_java2d_cmm_lcms_LCMS_initLCMS() { | |
| fprintf(stderr, "We should never reach here (Java_sun_java2d_cmm_lcms_LCMS_initLCMS)\n"); | |
| } | |
| void Java_sun_java2d_cmm_lcms_LCMS_loadProfileNative() { | |
| fprintf(stderr, "We should never reach here (Java_sun_java2d_cmm_lcms_LCMS_loadProfileNative)\n"); | |
| } | |
| void Java_sun_java2d_loops_GraphicsPrimitiveMgr_initIDs() { | |
| fprintf(stderr, "We should never reach here (Java_sun_java2d_loops_GraphicsPrimitiveMgr_initIDs)\n"); | |
| } | |
| void Java_sun_java2d_loops_GraphicsPrimitiveMgr_registerNativeLoops() { | |
| fprintf(stderr, "We should never reach here (Java_sun_java2d_loops_GraphicsPrimitiveMgr_registerNativeLoops)\n"); | |
| } | |
| void Java_sun_java2d_pipe_Region_initIDs() { | |
| fprintf(stderr, "We should never reach here (Java_sun_java2d_pipe_Region_initIDs)\n"); | |
| } | |
| void Java_sun_java2d_pipe_ShapeSpanIterator_initIDs() { | |
| fprintf(stderr, "We should never reach here (Java_sun_java2d_pipe_ShapeSpanIterator_initIDs)\n"); | |
| } | |
| void Java_sun_java2d_pipe_SpanClipRenderer_initIDs() { | |
| fprintf(stderr, "We should never reach here (Java_sun_java2d_pipe_SpanClipRenderer_initIDs)\n"); | |
| } | |
| void JNI_OnLoad_javajpeg() { | |
| fprintf(stderr, "We should never reach here (JNI_OnLoad_javajpeg)\n"); | |
| } | |
| void JNI_OnLoad_lcms() { | |
| fprintf(stderr, "We should never reach here (JNI_OnLoad_lcms)\n"); | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment