summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDean Michael Berris <dberris@google.com>2016-11-21 03:20:43 +0000
committerDean Michael Berris <dberris@google.com>2016-11-21 03:20:43 +0000
commit2a05c834ed840634ae1247f30179ba90d6255f34 (patch)
tree863976c50fce3366589c9cdd6cc5ba4b9b5015a1 /include
parent8134888c4d01164a92fb590c8d2e8c277a55e233 (diff)
[XRay] Support AArch64 in compiler-rt
This patch adds XRay support in compiler-rt for AArch64 targets. This patch is one of a series: LLVM: https://reviews.llvm.org/D26412 Clang: https://reviews.llvm.org/D26415 Author: rSerge Reviewers: rengolin, dberris Subscribers: aemerson, mgorny, llvm-commits, iid_iunknown Differential Revision: https://reviews.llvm.org/D26413 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@287517 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/xray/xray_interface.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/xray/xray_interface.h b/include/xray/xray_interface.h
index 680fcfdd5..9e712b1fa 100644
--- a/include/xray/xray_interface.h
+++ b/include/xray/xray_interface.h
@@ -32,6 +32,13 @@ enum XRayEntryType { ENTRY = 0, EXIT = 1, TAIL = 2 };
// (function entry, function exit, etc.). See the enum
// XRayEntryType for more details.
//
+// The user handler must handle correctly spurious calls after this handler is
+// removed or replaced with another handler, because it would be too costly for
+// XRay runtime to avoid spurious calls.
+// To prevent circular calling, the handler function itself and all its
+// direct&indirect callees must not be instrumented with XRay, which can be
+// achieved by marking them all with: __attribute__((xray_never_instrument))
+//
// Returns 1 on success, 0 on error.
extern int __xray_set_handler(void (*entry)(int32_t, XRayEntryType));