summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorVitaly Buka <vitalybuka@google.com>2016-08-19 17:15:33 +0000
committerVitaly Buka <vitalybuka@google.com>2016-08-19 17:15:33 +0000
commitc8f4d69c824b2abb5c6e5f94d52e311b3f1ad8bb (patch)
tree277b1f5cc3e085e8ca98fc9129546bbbc069d223 /llvm/lib/Transforms
parent6e9f0309e9dbd63cbfe4344974cb7b745c9628e4 (diff)
downloadbcm5719-llvm-c8f4d69c824b2abb5c6e5f94d52e311b3f1ad8bb.tar.gz
bcm5719-llvm-c8f4d69c824b2abb5c6e5f94d52e311b3f1ad8bb.zip
Revert "[asan] Fix size of shadow incorrectly calculated in r279178"
This reverts commit r279222. Speculative revert in hope to fix asan crash on arm. llvm-svn: 279276
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp b/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
index 4105dd89d85..67aef34a54b 100644
--- a/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
+++ b/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
@@ -2237,8 +2237,10 @@ void FunctionStackPoisoner::poisonStack() {
IRBuilder<> IRBPoison(ThenTerm);
if (StackMallocIdx <= 4) {
int ClassSize = kMinStackMallocSize << StackMallocIdx;
- ShadowBytesAfterReturn.resize(ClassSize >> Mapping.Scale,
- kAsanStackUseAfterReturnMagic);
+ if ((int)ShadowBytesAfterReturn.size() != ClassSize) {
+ ShadowBytesAfterReturn.resize(ClassSize,
+ kAsanStackUseAfterReturnMagic);
+ }
poisonRedZones(ShadowBytesAfterReturn, IRBPoison, ShadowBase, true);
Value *SavedFlagPtrPtr = IRBPoison.CreateAdd(
FakeStack,
OpenPOWER on IntegriCloud