[compiler-rt][XRay] re-submitting r276117, with fixes for build breakage due to extra...
authorDean Michael Berris <dberris@google.com>
Thu, 21 Jul 2016 07:39:55 +0000 (07:39 +0000)
committerDean Michael Berris <dberris@google.com>
Thu, 21 Jul 2016 07:39:55 +0000 (07:39 +0000)
commit938c5031ab9967306e5749658eee7336cd91e589
tree4d29e10c55863c24a524fc854609139b0b046ae3
parentfe22d59a8424dd63184fa834f5915f9fdf2ec4ec
[compiler-rt][XRay] re-submitting r276117, with fixes for build breakage due to extraneous and missing dependencies and attempts to build on unsupported OSes

Summary:
This is a fixed-up version of D21612, to address failure identified post-commit.

Original commit description:

This patch implements the initialisation and patching routines for the XRay runtime, along with the necessary trampolines for function entry/exit handling. For now we only define the basic hooks for allowing an implementation to define a handler that gets run on function entry/exit. We expose a minimal API for controlling the behaviour of the runtime (patching, cleanup, and setting the handler to invoke when instrumenting).

Fixes include:
- Gating XRay build to only Linux x86_64 and with the right dependencies in case it is the only library being built
- Including <cstddef> to fix std::size_t issue

Reviewers: kcc, rnk, echristo

Subscribers: mehdi_amini, llvm-commits

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

llvm-svn: 276251
13 files changed:
compiler-rt/CMakeLists.txt
compiler-rt/cmake/config-ix.cmake
compiler-rt/include/CMakeLists.txt
compiler-rt/include/xray/xray_interface.h [new file with mode: 0644]
compiler-rt/lib/CMakeLists.txt
compiler-rt/lib/xray/CMakeLists.txt [new file with mode: 0644]
compiler-rt/lib/xray/xray_flags.cc [new file with mode: 0644]
compiler-rt/lib/xray/xray_flags.h [new file with mode: 0644]
compiler-rt/lib/xray/xray_flags.inc [new file with mode: 0644]
compiler-rt/lib/xray/xray_init.cc [new file with mode: 0644]
compiler-rt/lib/xray/xray_interface.cc [new file with mode: 0644]
compiler-rt/lib/xray/xray_interface_internal.h [new file with mode: 0644]
compiler-rt/lib/xray/xray_trampoline_x86.S [new file with mode: 0644]