Revert "[asan] Add support of lifetime poisoning into ComputeASanStackFrameLayout"

This reverts commit r279020.

Speculative revert in hope to fix asan test on arm.

llvm-svn: 279332
This commit is contained in:
Vitaly Buka
2016-08-19 22:12:58 +00:00
parent a36f46363f
commit e149b392a8
4 changed files with 33 additions and 48 deletions

View File

@@ -81,26 +81,19 @@ ComputeASanStackFrameLayout(SmallVectorImpl<ASanStackVariableDescription> &Vars,
assert(Layout->FrameAlignment >= Alignment);
assert((Offset % Alignment) == 0);
assert(Size > 0);
assert(Vars[i].LifetimeSize <= Size);
StackDescription << " " << Offset << " " << Size << " " << strlen(Name)
<< " " << Name;
size_t NextAlignment = IsLast ? Granularity
: std::max(Granularity, Vars[i + 1].Alignment);
size_t SizeWithRedzone = VarAndRedzoneSize(Vars[i].Size, NextAlignment);
size_t LifetimeShadowSize =
(Vars[i].LifetimeSize + Granularity - 1) / Granularity;
SB.insert(SB.end(), LifetimeShadowSize, kAsanStackUseAfterScopeMagic);
if (Size / Granularity >= LifetimeShadowSize) {
SB.insert(SB.end(), Size / Granularity - LifetimeShadowSize, 0);
if (Size % Granularity)
SB.insert(SB.end(), Size % Granularity);
}
SB.insert(SB.end(), Size / Granularity, 0);
if (Size % Granularity)
SB.insert(SB.end(), Size % Granularity);
SB.insert(SB.end(), (SizeWithRedzone - Size) / Granularity,
IsLast ? kAsanStackRightRedzoneMagic
: kAsanStackMidRedzoneMagic);
Vars[i].Offset = Offset;
Offset += SizeWithRedzone;
assert(Offset == SB.size() * Granularity);
}
if (Offset % MinHeaderSize) {
size_t ExtraRedzone = MinHeaderSize - (Offset % MinHeaderSize);