RFR: Enable aarch64 build in jdk/tsan.

Jie He github.com+10233373+jhe33 at openjdk.java.net
Fri Apr 17 10:58:47 UTC 2020


On Thu, 16 Apr 2020 02:08:08 GMT, Man Cao <manc at openjdk.org> wrote:

>> Enable INCLUDE_TSAN in aarch64, and add the option -fno-experiment-isel when build aarch64 to
>> avoid a known bug [1] in llvm-8, recommended compiler in jdk/tsan,
>> which generates wrong debug info.
>> 
>> In addition, change aarch64 release build option from -O3 to -Os to prevent a crash occurs
>> in build process, caused by a known issue [2].
>> 
>> [1] https://bugs.llvm.org/show_bug.cgi?id=40887
>> [2] https://bugs.llvm.org/show_bug.cgi?id=44581
>
> make/autoconf/flags-cflags.m4 line 303:
> 
>> 302:     # (see https://bugs.llvm.org/show_bug.cgi?id=44581) which makes release build crash in aarch64.
>> 303:     if test "x$OPENJDK_TARGET_OS" = xmacosx || test "x$OPENJDK_TARGET_CPU" = xaarch64; then
>> 304:       # On MacOSX we optimize for size, something
> 
> Would you consider contributing this change to jdk/jdk mainline?

I suppose the reporter will do it.

> make/autoconf/flags-cflags.m4 line 573:
> 
>> 572:     # Disable experimental isel due to a known issue in llvm-8, which generates wrong debug info.
>> 573:     # (see https://bugs.llvm.org/show_bug.cgi?id=40887)
>> 574:     if test "x$OPENJDK_TARGET_CPU" = xaarch64; then
> 
> Does using the latest released LLVM 10.0.0 resolve this problem? If yes, we don't need to add this flag.
> 
> TSAN don't have a strong fixation to LLVM 8, and we'd recommend using the latest released LLVM. Version 8 just happened
> to be the latest released version when we wrote the wiki page. We are happy to update the Wiki page.

I just tried llvm-9, the debug info is still wrong, makes debugging hard, even though the bug report said it has been
fixed in llvm-9. after disable it by fno-experimental-isel, everything is fine.

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

PR: https://git.openjdk.java.net/tsan/pull/5


More information about the tsan-dev mailing list