[PATCH] D66377: hwasan: Untag unwound stack frames by wrapping personality functions.
Peter Collingbourne via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 22 17:43:03 PDT 2019
pcc added a comment.
In D66377#1642092 <https://reviews.llvm.org/D66377#1642092>, @eugenis wrote:
> What's the binary size overhead? I assume most of it comes from adding personality functions to noexcept but !nounwind functions?
It seems to be negative overhead, at least for Android libc++.so, presumably because we're no longer instrumenting landing pads. The size of libc++.so is 1116808 bytes without this change and 1101704 bytes with the change.
================
Comment at: llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp:1434
+ if (auto *Pers = dyn_cast<Function>(
+ F.getPersonalityFn()->stripPointerCastsNoFollowAliases()))
+ PersonalityFns[Pers].push_back(&F);
----------------
eugenis wrote:
> What if the personality function is an alias or an expression that does not strip down to a function? We could still wrap it.
Yes we could, done.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D66377/new/
https://reviews.llvm.org/D66377
More information about the llvm-commits
mailing list