llvm-project/compiler-rt/test/xray
Dean Michael Berris 1e3feb49e3 [XRay][compiler-rt] FDR Mode: Allow multiple runs
Summary:
Fix a bug in FDR mode which didn't allow for re-initialising the logging
in the same process. This change ensures that:

- When we flush the FDR mode logging, that the state of the logging
  implementation is `XRAY_LOG_UNINITIALIZED`.

- Fix up the thread-local initialisation to use aligned storage and
  `pthread_getspecific` as well as `pthread_setspecific` for the
  thread-specific data.

- Actually use the pointer provided to the thread-exit cleanup handling,
  instead of assuming that the thread has thread-local data associated
  with it, and reaching at thread-exit time.

In this change we also have an explicit test for two consecutive
sessions for FDR mode tracing, and ensuring both sessions succeed.

Reviewers: kpw, eizan

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D49359

llvm-svn: 337341
2018-07-18 01:31:30 +00:00
..
TestCases/Posix [XRay][compiler-rt] FDR Mode: Allow multiple runs 2018-07-18 01:31:30 +00:00
Unit [XRay][compiler-rt] Enable the XRay compiler-rt unit tests. 2017-08-31 00:50:12 +00:00
CMakeLists.txt [xray] Don't try to run XRay unit tests on Darwin 2018-01-28 03:11:25 +00:00
lit.cfg [UBsan] Enable subset of unit tests for OpenBSD 2018-06-30 21:35:05 +00:00
lit.site.cfg.in [XRay][compiler-rt] Enable the XRay compiler-rt unit tests. 2017-08-31 00:50:12 +00:00