forked from OSchip/llvm-project
039126c97d
ARM thumb/thumb2 frame pointer is inconsistent on GCC and Clang [1] and fast-unwider is also unreliable when mixing arm and thumb code [2]. The fast unwinder on ARM tries to probe and compare the frame-pointer at different stack layout positions and it works reliable only on systems where all the libraries were built in arm mode (either with gcc or clang) or with clang in thmb mode (which uses the same stack frame pointer layout in arm and thumb). However when mixing objects built with different abi modes the fast unwinder is still problematic as shown by the failures on the AddressSanitizer.ThreadStackReuseTest. For these failures, the malloc is called by the loader itself and since it has been built with a thum enabled gcc, the stack frame is not correctly obtained and the suppression rule is not applied (resulting in a leak warning). The check for fast-unwinder-works is also changed: instead of checking f it is explicit enabled in the compiler flags, it now checks if compiler defined thumb pre-processor. This should fix BZ#44158. [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92172 [2] https://bugs.llvm.org/show_bug.cgi?id=44158 Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D88958 |
||
---|---|---|
.. | ||
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. ================================