[PATCH] D38913: [ubsan] Don't emit function signatures for virtual methods
Vedant Kumar via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Oct 13 17:41:58 PDT 2017
vsk created this revision.
The function sanitizer only checks indirect calls through function
pointers. This excludes all non-static member functions (constructor
calls, calls through thunks, etc all use a separate code path). Don't
emit function signatures for functions that won't be checked.
Apart from cutting down on code size, this should fix a regression on
Linux caused by r313096. For context, see the mailing list discussion:
r313096 - [ubsan] Function Sanitizer: Don't require writable text segments
Testing: check-clang, check-ubsan
Supersedes https://reviews.llvm.org/D38903.
https://reviews.llvm.org/D38913
Files:
lib/CodeGen/CodeGenFunction.cpp
test/CodeGenCXX/catch-undef-behavior.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D38913.118999.patch
Type: text/x-patch
Size: 3076 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20171014/6f9a5b6a/attachment.bin>
More information about the cfe-commits
mailing list