RFR: JDK-8298448: UndefinedBehaviorSanitizer [v8]

Magnus Ihse Bursie ihse at openjdk.org
Fri Dec 16 16:12:50 UTC 2022


On Mon, 12 Dec 2022 10:42:22 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.
>
> Justin King has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Simplify logic for including __ubsan_default_options
>   
>   Signed-off-by: Justin King <jcking at google.com>

I much also check: is this really needed for *all* executables we make? I would have guessed that it would suffice with the "launchers", i.e. like `java`, `javac`, `jar` etc. These are all compiled from a single source file, `src/java.base/share/native/launcher/main.c`, with different defines depending on what Java classes it should actually launch, and with different output names.

Doing things this way will also affect non-launcher executables, like `jabswitch`, `msiwrapper` and all executable test binaries. 

That might be correct, but I could not be certain of that from trying to read the backlog of discussion in this bug.

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

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



More information about the build-dev mailing list