[compiler-rt] r351989 - hwasan: Read shadow address from ifunc if we don't need a frame record.
Peter Collingbourne via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 23 14:39:12 PST 2019
Author: pcc
Date: Wed Jan 23 14:39:11 2019
New Revision: 351989
URL: http://llvm.org/viewvc/llvm-project?rev=351989&view=rev
Log:
hwasan: Read shadow address from ifunc if we don't need a frame record.
This saves a cbz+cold call in the interceptor ABI, as well as a realign
in both ABIs, trading off a dcache entry against some branch predictor
entries and some code size.
Unfortunately the functionality is hidden behind a flag because ifunc is
known to be broken on static binaries on Android.
Differential Revision: https://reviews.llvm.org/D57084
Modified:
compiler-rt/trunk/test/hwasan/lit.cfg
Modified: compiler-rt/trunk/test/hwasan/lit.cfg
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/hwasan/lit.cfg?rev=351989&r1=351988&r2=351989&view=diff
==============================================================================
--- compiler-rt/trunk/test/hwasan/lit.cfg (original)
+++ compiler-rt/trunk/test/hwasan/lit.cfg Wed Jan 23 14:39:11 2019
@@ -11,7 +11,8 @@ config.test_source_root = os.path.dirnam
# Setup default compiler flags used with -fsanitize=memory option.
clang_cflags = [config.target_cflags] + config.debug_info_flags
clang_cxxflags = config.cxx_mode_flags + clang_cflags
-clang_hwasan_cflags = ["-fsanitize=hwaddress", "-mllvm", "-hwasan-generate-tags-with-calls"] + clang_cflags
+clang_hwasan_cflags = ["-fsanitize=hwaddress", "-mllvm", "-hwasan-generate-tags-with-calls",
+ "-mllvm", "-hwasan-allow-ifunc"] + clang_cflags
clang_hwasan_cxxflags = config.cxx_mode_flags + clang_hwasan_cflags
def build_invocation(compile_flags):
More information about the llvm-commits
mailing list