diff options
Diffstat (limited to 'contrib/llvm-project/compiler-rt/lib/xray/xray_defs.h')
-rw-r--r-- | contrib/llvm-project/compiler-rt/lib/xray/xray_defs.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/contrib/llvm-project/compiler-rt/lib/xray/xray_defs.h b/contrib/llvm-project/compiler-rt/lib/xray/xray_defs.h new file mode 100644 index 000000000000..2da03c3c3451 --- /dev/null +++ b/contrib/llvm-project/compiler-rt/lib/xray/xray_defs.h @@ -0,0 +1,31 @@ +//===-- xray_defs.h ---------------------------------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// Common definitions useful for XRay sources. +// +//===----------------------------------------------------------------------===// +#ifndef XRAY_XRAY_DEFS_H +#define XRAY_XRAY_DEFS_H + +#if XRAY_SUPPORTED +#define XRAY_NEVER_INSTRUMENT __attribute__((xray_never_instrument)) +#else +#define XRAY_NEVER_INSTRUMENT +#endif + +#if SANITIZER_NETBSD +// NetBSD: thread_local is not aligned properly, and the code relying +// on it segfaults +#define XRAY_TLS_ALIGNAS(x) +#define XRAY_HAS_TLS_ALIGNAS 0 +#else +#define XRAY_TLS_ALIGNAS(x) alignas(x) +#define XRAY_HAS_TLS_ALIGNAS 1 +#endif + +#endif // XRAY_XRAY_DEFS_H |