[PATCH] D60355: hwasan: Enable -hwasan-allow-ifunc by default.
Peter Collingbourne via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 5 19:52:52 PDT 2019
pcc created this revision.
pcc added a reviewer: eugenis.
Herald added subscribers: Sanitizers, hiraditya, kubamracek, srhines.
Herald added projects: Sanitizers, LLVM.
It's been on in Android for a while without causing problems, so it's time
to make it the default and remove the flag.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D60355
Files:
compiler-rt/test/hwasan/lit.cfg
llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
llvm/test/Instrumentation/HWAddressSanitizer/lazy-thread-init.ll
llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll
Index: llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll
===================================================================
--- llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll
+++ llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll
@@ -1,14 +1,14 @@
; Test -hwasan-with-ifunc flag.
;
-; RUN: opt -hwasan -hwasan-allow-ifunc -S < %s | \
+; RUN: opt -hwasan -S < %s | \
; RUN: FileCheck %s --check-prefixes=CHECK,CHECK-NOGLOBAL,CHECK-TLS,CHECK-HISTORY
-; RUN: opt -hwasan -hwasan-allow-ifunc -S -hwasan-with-ifunc=0 -hwasan-with-tls=1 -hwasan-record-stack-history=1 < %s | \
+; RUN: opt -hwasan -S -hwasan-with-ifunc=0 -hwasan-with-tls=1 -hwasan-record-stack-history=1 < %s | \
; RUN: FileCheck %s --check-prefixes=CHECK,CHECK-NOGLOBAL,CHECK-TLS,CHECK-HISTORY
-; RUN: opt -hwasan -hwasan-allow-ifunc -S -hwasan-with-ifunc=0 -hwasan-with-tls=1 -hwasan-record-stack-history=0 < %s | \
+; RUN: opt -hwasan -S -hwasan-with-ifunc=0 -hwasan-with-tls=1 -hwasan-record-stack-history=0 < %s | \
; RUN: FileCheck %s --check-prefixes=CHECK,CHECK-NOGLOBAL,CHECK-IFUNC,CHECK-NOHISTORY
-; RUN: opt -hwasan -hwasan-allow-ifunc -S -hwasan-with-ifunc=0 -hwasan-with-tls=0 < %s | \
+; RUN: opt -hwasan -S -hwasan-with-ifunc=0 -hwasan-with-tls=0 < %s | \
; RUN: FileCheck %s --check-prefixes=CHECK,CHECK-GLOBAL,CHECK-NOHISTORY
-; RUN: opt -hwasan -hwasan-allow-ifunc -S -hwasan-with-ifunc=1 -hwasan-with-tls=0 < %s | \
+; RUN: opt -hwasan -S -hwasan-with-ifunc=1 -hwasan-with-tls=0 < %s | \
; RUN: FileCheck %s --check-prefixes=CHECK,CHECk-NOGLOBAL,CHECK-IFUNC,CHECK-NOHISTORY
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
Index: llvm/test/Instrumentation/HWAddressSanitizer/lazy-thread-init.ll
===================================================================
--- llvm/test/Instrumentation/HWAddressSanitizer/lazy-thread-init.ll
+++ llvm/test/Instrumentation/HWAddressSanitizer/lazy-thread-init.ll
@@ -1,4 +1,4 @@
-; RUN: opt -S -hwasan -hwasan-allow-ifunc < %s | FileCheck %s
+; RUN: opt -S -hwasan < %s | FileCheck %s
target triple = "aarch64--linux-android"
Index: llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
===================================================================
--- llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
+++ llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
@@ -160,10 +160,6 @@
cl::desc("inline all checks"),
cl::Hidden, cl::init(false));
-static cl::opt<bool> ClAllowIfunc("hwasan-allow-ifunc",
- cl::desc("allow the use of ifunc"),
- cl::Hidden, cl::init(false));
-
namespace {
/// An instrumentation pass implementing detection of addressability bugs
@@ -836,7 +832,7 @@
if (!Mapping.InTls)
return getDynamicShadowNonTls(IRB);
- if (ClAllowIfunc && !WithFrameRecord && TargetTriple.isAndroid())
+ if (!WithFrameRecord && TargetTriple.isAndroid())
return getDynamicShadowIfunc(IRB);
Value *SlotPtr = getHwasanThreadSlotPtr(IRB, IntptrTy);
Index: compiler-rt/test/hwasan/lit.cfg
===================================================================
--- compiler-rt/test/hwasan/lit.cfg
+++ compiler-rt/test/hwasan/lit.cfg
@@ -11,8 +11,7 @@
# 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",
- "-mllvm", "-hwasan-allow-ifunc"] + clang_cflags
+clang_hwasan_cflags = ["-fsanitize=hwaddress", "-mllvm", "-hwasan-generate-tags-with-calls"] + clang_cflags
clang_hwasan_cxxflags = config.cxx_mode_flags + clang_hwasan_cflags
def build_invocation(compile_flags):
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D60355.193999.patch
Type: text/x-patch
Size: 3917 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190406/a4cf9727/attachment.bin>
More information about the llvm-commits
mailing list