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