summaryrefslogtreecommitdiff
path: root/lib/asan/asan_linux.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/asan/asan_linux.cc')
-rw-r--r--lib/asan/asan_linux.cc37
1 files changed, 2 insertions, 35 deletions
diff --git a/lib/asan/asan_linux.cc b/lib/asan/asan_linux.cc
index 8ce4b96c2..a949a9888 100644
--- a/lib/asan/asan_linux.cc
+++ b/lib/asan/asan_linux.cc
@@ -17,7 +17,6 @@
#include "asan_interceptors.h"
#include "asan_internal.h"
-#include "asan_premap_shadow.h"
#include "asan_thread.h"
#include "sanitizer_common/sanitizer_flags.h"
#include "sanitizer_common/sanitizer_freebsd.h"
@@ -82,41 +81,9 @@ void *AsanDoesNotSupportStaticLinkage() {
return &_DYNAMIC; // defined in link.h
}
-#if ASAN_PREMAP_SHADOW
-uptr FindPremappedShadowStart() {
- uptr granularity = GetMmapGranularity();
- uptr shadow_start = reinterpret_cast<uptr>(&__asan_shadow);
- uptr shadow_size = PremapShadowSize();
- UnmapOrDie((void *)(shadow_start - granularity), shadow_size + granularity);
- // MmapNoAccess does not touch TotalMmap, but UnmapOrDie decreases it.
- // Compensate.
- IncreaseTotalMmap(shadow_size + granularity);
- return shadow_start;
-}
-#endif
-
uptr FindDynamicShadowStart() {
-#if ASAN_PREMAP_SHADOW
- if (!PremapShadowFailed())
- return FindPremappedShadowStart();
-#endif
-
- uptr granularity = GetMmapGranularity();
- uptr alignment = granularity * 8;
- uptr left_padding = granularity;
- uptr shadow_size = kHighShadowEnd + left_padding;
- uptr map_size = shadow_size + alignment;
-
- uptr map_start = (uptr)MmapNoAccess(map_size);
- CHECK_NE(map_start, ~(uptr)0);
-
- uptr shadow_start = RoundUpTo(map_start, alignment);
- UnmapOrDie((void *)map_start, map_size);
- // MmapNoAccess does not touch TotalMmap, but UnmapOrDie decreases it.
- // Compensate.
- IncreaseTotalMmap(map_size);
-
- return shadow_start;
+ UNREACHABLE("FindDynamicShadowStart is not available");
+ return 0;
}
void AsanApplyToGlobals(globals_op_fptr op, const void *needle) {