Go to file
Jonathan Peyton 3d18a37ca9 [OpenMP] Fix race condition in omp_init_lock
This is a partial fix for bug 34050.

This prevents callers of omp_set_lock (which does not hold __kmp_global_lock)
from ever seeing an uninitialized version of __kmp_i_lock_table.table.

It does not solve a use-after-free race condition if omp_set_lock obtains a
pointer to __kmp_i_lock_table.table before it is updated and then attempts to
dereference afterwards. That race is far less likely and can be handled in a
separate patch.

The unit test usually segfaults on the current trunk revision. It passes with
the patch.

Patch by Adam Azarchs

Differential Revision: https://reviews.llvm.org/D39439

llvm-svn: 317115
2017-11-01 19:44:42 +00:00
clang [clang-format] Make parseUnaryOperator non-recursive, NFCI 2017-11-01 18:20:41 +00:00
clang-tools-extra Add LLVM_FALLTHROUGH to silence warning. NFCI. 2017-11-01 09:22:03 +00:00
compiler-rt [scudo] Fix standlone build -lrt requirement 2017-11-01 17:00:26 +00:00
debuginfo-tests Revert r313600 due to bot failures on Green Dragon. 2017-09-19 14:51:37 +00:00
libclc math: Implement native_log10 2017-10-25 16:49:22 +00:00
libcxx More statuses, a new patch, too 2017-11-01 04:03:35 +00:00
libcxxabi Fix ASAN build with older compiler-rt versions. 2017-09-14 22:37:34 +00:00
libunwind Change unw_word_t to always have the same size as the pointer size 2017-10-30 19:06:34 +00:00
lld [ELF] - Cleanup of processSectionCommands(). 2017-11-01 08:40:28 +00:00
lldb Add data formatter for libc++ std::queue 2017-11-01 15:52:08 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm AMDGPU: Fix set but not used warnings related to AMDGPUAS 2017-11-01 19:12:38 +00:00
openmp [OpenMP] Fix race condition in omp_init_lock 2017-11-01 19:44:42 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly [ZoneAlgo/ForwardOpTree] Normalize PHIs to their known incoming values. 2017-10-31 16:11:46 +00:00
README.md Add an svn project to contain the files that appear at the root of the 2017-10-19 21:09:49 +00:00

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.