llvm-project/llvm
Leonard Chan 4dc462b589 [AArch64] Emit CFI instruction for updating x18 when using ShadowCallStack with exception unwinding
PR45875 notes an instance where exception handling crashes on aarch64-fuchsia
where SCS is enabled by default. The underlying issue seems to be that within libunwind,
various _Unwind_* functions, the x18 register is not updated if a function is marked
with nounwind. This removes the check for nounwind and emits the CFI instruction that updates x18.

Differential Revision: https://reviews.llvm.org/D79822
2021-10-08 14:20:26 -07:00
..
benchmarks
bindings
cmake Add .cmt and .cmti files for OCaml bindings 2021-10-05 19:36:12 +05:30
docs [LangRef] Update ifunc syntax 2021-10-07 11:14:40 -07:00
examples [ORC][examples] Port LLJITWithRemoteDebugging to SimpleRemoteEPC 2021-09-29 10:20:41 +02:00
include [LoopFlatten] Mark inner loop as deleted 2021-10-08 23:12:15 +02:00
lib [AArch64] Emit CFI instruction for updating x18 when using ShadowCallStack with exception unwinding 2021-10-08 14:20:26 -07:00
projects
resources
runtimes [runtimes] Ensure required deps for tests targets are actually built 2021-09-29 14:41:33 -07:00
test [AArch64] Emit CFI instruction for updating x18 when using ShadowCallStack with exception unwinding 2021-10-08 14:20:26 -07:00
tools Revert "[ORC] Move SimpleRemoteEPCServer::Dispatcher into OrcShared." 2021-10-08 13:43:42 -07:00
unittests [AIX] Disable tests failing due to missing DWARF sections 2021-10-08 12:06:38 -04:00
utils [NFC][sanitizer] Remove sanitizer_persistent_allocator.cpp 2021-10-08 13:43:28 -07:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt Revert "[CMake] Enable LLVM_ENABLE_PER_TARGET_RUNTIME_DIR by default on Linux" 2021-09-28 18:23:43 +03:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

The LLVM Compiler Infrastructure
================================

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

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.