RFR(M): Support running TSAN without LD_PRELOAD.
Arthur Eubanks
aeubanks at google.com
Fri Apr 12 03:43:36 UTC 2019
LGTM
On Thu, Apr 11, 2019 at 8:03 PM Man Cao <manc at google.com> wrote:
> > TSAN was enabled by default right? I think when this gets upstreamed it
> should be off by default, but for our branch this is good.
> Yes. It is enabled by default, and can be disabled via
> --with-jvm-features=-tsan.
> It is easy to change to disable it by default by modifying hotspot.m4.
>
> > Is it possible to put the TSAN stuff in the gmk higher up so you can use
> LIBS instead of LDFLAGS?
> I think that would require propagating the INCLUDE_TSAN parameter all the
> way through SetupJdkExecutable -> SetupNativeCompilation.
> Then we end up at "make/common/NativeCompilation.gmk:1047", which has
> another GLOBAL_LIBS that could prepend other -l flags before -ltsan.
> It seems too much work and could affect compilations outside the launcher
> directory
>
> > Ps: Please update installation and testing info in the wiki once merged
> :)
> Will do. The wiki site seems down at the moment.
>
> -Man
>
>
> On Thu, Apr 11, 2019 at 7:23 PM Jean Christophe Beyler <
> jcbeyler at google.com> wrote:
>
>> LGTM, I would like to try to figure out how to have the suppress list in
>> a file at some point but we can figure that out later,
>> Jc
>>
>> Ps: Please update installation and testing info in the wiki once merged :)
>>
>> On Thu, Apr 11, 2019 at 6:58 PM Arthur Eubanks <aeubanks at google.com>
>> wrote:
>>
>>> TSAN was enabled by default right? I think when this gets upstreamed it
>>> should be off by default, but for our branch this is good.
>>> Awesome that "make test" just works now!
>>>
>>> Is it possible to put the TSAN stuff in the gmk higher up so you can use
>>> LIBS instead of LDFLAGS?
>>>
>>> On Thu, Apr 11, 2019 at 5:44 PM Man Cao <manc at google.com> wrote:
>>>
>>> > Can I have reviews for this:
>>> > http://cr.openjdk.java.net/~manc/tsan/20190411/
>>> >
>>> > Commit message:
>>> >
>>> > This dynamically links TSAN runtime with the launcher bin/java, and
>>> moves
>>> > the default suppression list into hard-coded string in the launcher's
>>> > source. With this change, we can just use the following command to run
>>> tsan
>>> > tests:
>>> > $ make test TEST="hotspot/jtreg/tsan"
>>> >
>>> > Currently only NonRacyNativeLoopTest fails due to missing lock
>>> > instrumentation.
>>> > Also refactored hotspot.m4 to consolidate TSAN-related code into one
>>> block.
>>> >
>>> > -Man
>>> >
>>>
>>
>>
>> --
>>
>> Thanks,
>> Jc
>>
>
More information about the tsan-dev
mailing list