forked from OSchip/llvm-project
36b52c38aa
On a mips64el-linux-gnu system, the dynamic linker arranges TLS blocks like: [0] 0xfff7fe9680..0xfff7fe9684, align = 0x4 [1] 0xfff7fe9688..0xfff7fe96a8, align = 0x8 [2] 0xfff7fe96c0..0xfff7fe9e60, align = 0x40 [3] 0xfff7fe9e60..0xfff7fe9ef8, align = 0x8 Note that the dynamic linker can only put [1] at 0xfff7fe9688, not 0xfff7fe9684 or it will be misaligned. But we were comparing the distance between two blocks with the alignment of the previous range, causing GetStaticTlsBoundary fail to merge the consecutive blocks. Compare against the alignment of the latter range to fix the issue. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D129112 |
||
---|---|---|
.. | ||
cmake | ||
docs | ||
include | ||
lib | ||
test | ||
tools | ||
unittests | ||
utils | ||
www | ||
.clang-tidy | ||
.gitignore | ||
CMakeLists.txt | ||
CODE_OWNERS.TXT | ||
CREDITS.TXT | ||
LICENSE.TXT | ||
README.txt |
README.txt
Compiler-RT ================================ This directory and its subdirectories contain source code for the compiler support routines. Compiler-RT is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt. ================================