diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2013-01-10 22:36:33 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2013-01-10 22:36:33 +0000 |
commit | f7d65c43d0f059ba22113cb337cf17e7d7529102 (patch) | |
tree | 276d7eecb6cf02f81c52ad6e121507045c42887b /llvm/lib/Transforms | |
parent | a38608b43f85245135e4b5b846b458dd9c5f937f (diff) | |
download | bcm5719-llvm-f7d65c43d0f059ba22113cb337cf17e7d7529102.tar.gz bcm5719-llvm-f7d65c43d0f059ba22113cb337cf17e7d7529102.zip |
[msan] Change va_start/va_copy shadow memset alignment to 8.
This fixes va_start/va_copy of a va_list field which happens to not
be laid out at a 16-byte boundary.
Differential Revision: http://llvm-reviews.chandlerc.com/D276
llvm-svn: 172128
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r-- | llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp b/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp index 58d5801ea08..76da9706829 100644 --- a/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp +++ b/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp @@ -1774,7 +1774,7 @@ struct VarArgAMD64Helper : public VarArgHelper { // Unpoison the whole __va_list_tag. // FIXME: magic ABI constants. IRB.CreateMemSet(ShadowPtr, Constant::getNullValue(IRB.getInt8Ty()), - /* size */24, /* alignment */16, false); + /* size */24, /* alignment */8, false); } void visitVACopyInst(VACopyInst &I) { @@ -1785,7 +1785,7 @@ struct VarArgAMD64Helper : public VarArgHelper { // Unpoison the whole __va_list_tag. // FIXME: magic ABI constants. IRB.CreateMemSet(ShadowPtr, Constant::getNullValue(IRB.getInt8Ty()), - /* size */ 24, /* alignment */ 16, false); + /* size */24, /* alignment */8, false); } void finalizeInstrumentation() { |