krytarowski added inline comments.
================ Comment at: lib/xray/xray_basic_logging.cc:58 -struct alignas(64) ThreadLocalData { +struct +/* TLD is not aligned properly on NetBSD, resulting in segfault */ ---------------- mgorny wrote: > krytarowski wrote: > > Can we introduce a macro like: > > > > ``` > > #if SANITIZER_NETBSD > > #define XRAY_TLS_ALIGNAS64 /* Nor supported */ > > #else > > #define XRAY_TLS_ALIGNED_SUPPORTED > > #define XRAY_TLS_ALIGNAS64 alignas(64) > > #endif > > ``` > > > > And later: > > > > ``` > > struct XRAY_TLS_ALIGNAS64 ThreadLocalData { > > ``` > > > > and > > > > ``` > > #ifdef XRAY_TLS_ALIGNED_SUPPORTED > > static_assert(alignof(ThreadLocalData) >= 64, > > "ThreadLocalData must be cache line aligned."); > > #endif > > ``` > Maybe. Though i suppose it'd make more sense to make `64` an argument to the > macro. ``` #if !SANITIZER_NETBSD #define XRAY_TLS_ALIGNAS(x) alignas(x) #endif ``` ``` struct XRAY_TLS_ALIGNAS(64) ThreadLocalData { ``` and ``` #ifdef XRAY_TLS_ALIGNAS static_assert(alignof(ThreadLocalData) >= 64, "ThreadLocalData must be cache line aligned."); #endif ``` Repository: rCRT Compiler Runtime CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56000/new/ https://reviews.llvm.org/D56000 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits