This bug was detected when building openjdk-22 in debian unstable[1]
Building the following example
---
#include <jni.h>
int main(){
JavaVM *jvm;
JNIEnv *env;
JavaVMInitArgs vm_args;
vm_args.version = JNI_VERSION_1_8;
vm_args.nOptions = 0;
vm_args.ignoreUnrecognized = false;
JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
}
---
fails with the following error:
11864s /usr/bin/ld: /usr/lib/jvm/java-22-openjdk-i386/lib/server/libjvm.so: undefined reference to `_SafeFetch32_impl'
The symbol is undefined in master:
$ readelf --symbols /usr/lib/jvm/java-23-openjdk-i386/lib/server/libjvm.so | grep SafeFetch
17: 00000000 0 FUNC GLOBAL DEFAULT UND _SafeFetch32_impl
[1] https://ci.debian.net/data/autopkgtest/testing/i386/o/openjdk-22/46078740/log.gz
Building the following example
---
#include <jni.h>
int main(){
JavaVM *jvm;
JNIEnv *env;
JavaVMInitArgs vm_args;
vm_args.version = JNI_VERSION_1_8;
vm_args.nOptions = 0;
vm_args.ignoreUnrecognized = false;
JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
}
---
fails with the following error:
11864s /usr/bin/ld: /usr/lib/jvm/java-22-openjdk-i386/lib/server/libjvm.so: undefined reference to `_SafeFetch32_impl'
The symbol is undefined in master:
$ readelf --symbols /usr/lib/jvm/java-23-openjdk-i386/lib/server/libjvm.so | grep SafeFetch
17: 00000000 0 FUNC GLOBAL DEFAULT UND _SafeFetch32_impl
[1] https://ci.debian.net/data/autopkgtest/testing/i386/o/openjdk-22/46078740/log.gz
- relates to
-
JDK-8283326 Implement SafeFetch statically
- Resolved
-
JDK-8332129 Cross-compile build error after JDK-8283326
- Closed