summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2018-07-01 17:52:41 +0000
committerFangrui Song <maskray@google.com>2018-07-01 17:52:41 +0000
commit5f27e0c021137ca4727c7ea370c5f53fb75b9acb (patch)
treedfb692a3a88f157ec31682b0bdeeeffd12c23f4f /llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
parent4d8ec92fb0ad553a4e4046504ee4592f4463d96a (diff)
downloadbcm5719-llvm-5f27e0c021137ca4727c7ea370c5f53fb75b9acb.tar.gz
bcm5719-llvm-5f27e0c021137ca4727c7ea370c5f53fb75b9acb.zip
[asan] Fix deadlock issue on FreeBSD, caused by use of .preinit_array in rL325240
Summary: Without this patch, clang -fsanitize=address -xc =(printf 'int main(){}') -o a; ./a => deadlock in __asan_init>AsanInitInternal>AsanTSDInit>...>__getcontextx_size>_rtld_bind>rlock_acquire(rtld_bind_lock, &lockstate) libexec/rtld-elf/rtld.c wlock_acquire(rtld_bind_lock, &lockstate); if (obj_main->crt_no_init) preinit_main(); // unresolved PLT functions cannot be called here lib/libthr/thread/thr_rtld.c uc_len = __getcontextx_size(); // unresolved PLT function in libthr.so.3 check-xray tests currently rely on .preinit_array so we special case in xray_init.cc Subscribers: srhines, kubamracek, krytarowski, delcypher, llvm-commits, #sanitizers Differential Revision: https://reviews.llvm.org/D48806 llvm-svn: 336067
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud