RFR: 8354686: [AIX] now ubsan is possible

Joachim Kern jkern at openjdk.org
Wed Apr 16 10:43:47 UTC 2025


On Tue, 15 Apr 2025 19:42:40 GMT, Erik Joelsson <erikj at openjdk.org> wrote:

>> With the introduction of the open XL 17.1.2.13 Compiler and the runtime 17.1.3 as minimum requirement ubsan is supported for AIX now.
>> Unfortunately there has to be some adoptions.
>> - Currently the test for vptr does not work and produces crashes when active, so we have to deactivate it. (If fixed by IBM there will be a follow up JBS)
>> - ubsan introduces so much new symbols to every executable that we have to link with -bbictoc.
>> - The llvm_symbolizer is not found out of the box, so we have to provide the full qualified llvm_symbolizer path in the __ubsan_default_options() function.
>
> make/autoconf/jdk-options.m4 line 526:
> 
>> 524:   UBSAN_LDFLAGS="$UBSAN_CHECKS"
>> 525:   if test "x$TOOLCHAIN_TYPE" = "xclang" && test "x$OPENJDK_TARGET_OS" = "xaix"; then
>> 526:       UBSAN_CFLAGS="$UBSAN_CFLAGS -fno-sanitize=function,vptr -DLLVM_SYMBOLIZER=$(dirname $(dirname $CC))/tools/ibm-llvm-symbolizer"
> 
> I would recommend handling this tool path properly, by first trying to look it up with one of the standard macros and then falling back to a default, and let configure fail if it wasn't found. This would also implicitly add the ability for the user to specify a different path if ever needed (using VAR_NAME=/path/to/tool on the command line). However, since this isn't a platform I'm supporting, I won't force you.

Can you please give me an example to try?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24667#discussion_r2046652062


More information about the build-dev mailing list