[PATCH] D39471: [asan] Fix small X86_64 ShadowOffset for non-default shadow scale
Vitaly Buka via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 15 15:50:11 PST 2017
vitalybuka added inline comments.
================
Comment at: llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp:293
cl::desc("scale of asan shadow mapping"),
cl::Hidden, cl::init(0));
----------------
eugenis wrote:
> vitalybuka wrote:
> > @eugenis why do we need 0 here and not just kDefaultShadowScale
> No idea. Looks strange. Check code history?
it's from the original commit which added entire file. so no explanation
@waltl nothing need to be changed here
================
Comment at: llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp:524
else
- Mapping.Offset = kSmallX86_64ShadowOffset;
+ Mapping.Offset = 0x7FFFFFFF & (0xFFFFF000 << Mapping.Scale);
} else if (IsWindows && IsX86_64) {
----------------
kcc wrote:
> vitalybuka wrote:
> > UB of shifting into sign bit?
> > 0xFFFFF000ULL?
> > Same above.
> Please don't use constants in the code.
kSmallX86_64ShadowOffset << (Mapping.Scale - kDefaultShadowScale) ?
https://reviews.llvm.org/D39471
More information about the llvm-commits
mailing list