llvm-project/compiler-rt/lib
Kuba Mracek c1e903be19 [asan] For iOS/AArch64, if the dynamic shadow doesn't fit, restrict the VM space
On iOS/AArch64, the address space is very limited and has a dynamic maximum address based on the configuration of the device. We're already using a dynamic shadow, and we find a large-enough "gap" in the VM where we place the shadow memory. In some cases and some device configuration, we might not be able to find a large-enough gap: E.g. if the main executable is linked against a large number of libraries that are not part of the system, these libraries can fragment the address space, and this happens before ASan starts initializing.

This patch has a solution, where we have a "backup plan" when we cannot find a large-enough gap: We will restrict the address space (via MmapFixedNoAccess) to a limit, for which the shadow limit will fit.

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

llvm-svn: 307865
2017-07-12 23:29:21 +00:00
..
BlocksRuntime Move tests for BlocksRuntime and builtins to corresponding directories under test/ 2014-02-14 09:47:31 +00:00
asan [asan] For iOS/AArch64, if the dynamic shadow doesn't fit, restrict the VM space 2017-07-12 23:29:21 +00:00
builtins [builtins] Better Fuchsia support 2017-07-12 19:33:30 +00:00
cfi CFI: Add a blacklist entry for std::_Sp_counted_ptr_inplace::_Sp_counted_ptr_inplace(). 2017-05-05 18:46:14 +00:00
dfsan [sanitizer-coverage] remove stale code (old coverage); compiler-rt part 2017-05-31 18:26:32 +00:00
esan Refactor MemoryMappingLayout::Next to use a single struct instead of output parameters. NFC. 2017-07-11 18:54:00 +00:00
interception [WinASan] Fix hotpatching new Win 10 build 1703 x64 strnlen prologue 2017-06-16 20:44:00 +00:00
lsan Refactor MemoryMappingLayout::Next to use a single struct instead of output parameters. NFC. 2017-07-11 18:54:00 +00:00
msan [Sanitizers] Consolidate internal errno definitions. 2017-07-06 00:50:57 +00:00
profile [profile] Move __llvm_profile_filename into a separate object 2017-06-29 17:42:24 +00:00
safestack [compiler-rt] Do not introduce __sanitizer namespace globally 2016-09-15 21:02:18 +00:00
sanitizer_common [asan] For iOS/AArch64, if the dynamic shadow doesn't fit, restrict the VM space 2017-07-12 23:29:21 +00:00
scudo [scudo] PRNG makeover 2017-07-12 15:29:08 +00:00
stats Revert "[sancov] moving sancov rt to sancov/ directory" 2017-01-12 01:37:35 +00:00
tsan On Darwin, start building the TSan dylib for the iOS simulator. 2017-07-12 17:30:54 +00:00
ubsan [ubsan] Improve diagnostics for return value checks (compiler-rt) 2017-06-23 21:32:48 +00:00
xray [XRay][compiler-rt][NFC] Add example always/never instrument files. 2017-06-28 04:44:36 +00:00
CMakeLists.txt Don't build tsan/dd when COMPILER_RT_HAS_TSAN is false 2017-06-27 21:10:46 +00:00