diff options
author | Kamil Rytarowski <n54@gmx.com> | 2018-11-06 10:59:21 +0000 |
---|---|---|
committer | Kamil Rytarowski <n54@gmx.com> | 2018-11-06 10:59:21 +0000 |
commit | cc297272c708d6a3223453efe3a82645016d4e71 (patch) | |
tree | e6e36b824bdf0407361ff5943725a99b1371ddd3 /llvm/lib/Bitcode | |
parent | ad588af2d62322942ea65d2c49238eb7eff9e96f (diff) | |
download | llvm-cc297272c708d6a3223453efe3a82645016d4e71.zip llvm-cc297272c708d6a3223453efe3a82645016d4e71.tar.gz llvm-cc297272c708d6a3223453efe3a82645016d4e71.tar.bz2 |
Prioritize the constructor call of __local_xray_dyninit()
Summary:
For platforms without preinit support (such as NetBSD/amd64) the
initialization routine __xray_init() was called in non-deterministic order
compared to other constructors. This caused breakage failures
as xray routines attempted to execute code with assumption of
being initialized, which was no always true.
Use GCC/Clang extension to set maximal priority to the constructor
calling __xray_init(). This code switches away from C++ lambda form,
as it did not allow to specify this compiler extension.
Reviewers: dberris, joerg
Reviewed By: dberris
Subscribers: llvm-commits, mgorny, #sanitizers
Tags: #sanitizers
Differential Revision: https://reviews.llvm.org/D54136
llvm-svn: 346222
Diffstat (limited to 'llvm/lib/Bitcode')
0 files changed, 0 insertions, 0 deletions