RFR: JDK-8298448: UndefinedBehaviorSanitizer

David Holmes dholmes at openjdk.org
Mon Dec 12 05:10:14 UTC 2022


On Fri, 9 Dec 2022 06:53:31 GMT, Justin King <jcking at openjdk.org> wrote:

> Allow building OpenJDK with UBSan. Currently the build fails when optimizing the image due to lots of undefined behavior (it invokes the built JVM). Follow up PRs will either replace the undefined behavior with well defined behavior or suppress errors which are intentional. The goal is to make OpenJDK more well defined and thus more portable across compilers and architectures.

src/java.base/share/native/launcher/main.c line 40:

> 38: // Override weak symbol exposed by UBSan to override default options. This is called by UBSan
> 39: // extremely early during library loading, before main is called.
> 40: JNIEXPORT const char* __ubsan_default_options() {

Why would this need `JNIEXPORT`? This is not a JNI function.

-------------

PR: https://git.openjdk.org/jdk/pull/11604



More information about the build-dev mailing list