[PATCH] D30426: [AddressSanitizer] Put shadow at 0 for Fuchsia
Roland McGrath via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 27 12:31:24 PST 2017
mcgrathr created this revision.
The Fuchsia ASan runtime reserves the low part of the address space.
Repository:
rL LLVM
https://reviews.llvm.org/D30426
Files:
lib/Transforms/Instrumentation/AddressSanitizer.cpp
Index: lib/Transforms/Instrumentation/AddressSanitizer.cpp
===================================================================
--- lib/Transforms/Instrumentation/AddressSanitizer.cpp
+++ lib/Transforms/Instrumentation/AddressSanitizer.cpp
@@ -394,6 +394,7 @@
TargetTriple.getArch() == llvm::Triple::mips64el;
bool IsAArch64 = TargetTriple.getArch() == llvm::Triple::aarch64;
bool IsWindows = TargetTriple.isOSWindows();
+ bool IsFuchsia = TargetTriple.isOSFuchsia();
ShadowMapping Mapping;
@@ -414,7 +415,11 @@
else
Mapping.Offset = kDefaultShadowOffset32;
} else { // LongSize == 64
- if (IsPPC64)
+ // Fuchsia is always PIE, which means that the beginning of the address
+ // space is always available.
+ if (IsFuchsia)
+ Mapping.Offset = 0;
+ else if (IsPPC64)
Mapping.Offset = kPPC64_ShadowOffset64;
else if (IsSystemZ)
Mapping.Offset = kSystemZ_ShadowOffset64;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30426.89916.patch
Type: text/x-patch
Size: 954 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170227/fdc59281/attachment.bin>
More information about the llvm-commits
mailing list