[all-commits] [llvm/llvm-project] 67cbe1: Allow -fsanitize=function on all targets
Fangrui Song via All-commits
all-commits at lists.llvm.org
Fri May 19 07:59:50 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 67cbe1b8597272165c2529f8a14ec571abe29490
https://github.com/llvm/llvm-project/commit/67cbe1b8597272165c2529f8a14ec571abe29490
Author: Fangrui Song <i at maskray.me>
Date: 2023-05-19 (Fri, 19 May 2023)
Changed paths:
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/test/CodeGen/ubsan-function.cpp
M clang/test/Driver/fsanitize.c
M compiler-rt/test/ubsan/TestCases/TypeCheck/Function/function.cpp
M compiler-rt/test/ubsan/TestCases/TypeCheck/Function/lit.local.cfg.py
A llvm/test/CodeGen/AArch64/func-sanitizer.ll
M llvm/test/CodeGen/AArch64/patchable-function-entry-bti.ll
Log Message:
-----------
Allow -fsanitize=function on all targets
Functions instrumented with -fsanitize=function have two words before
the function label: a signature and a RTTI proxy.
Instrumented call sites check the signature first to skip checks
for uninstrumented callees.
The code is generic and works for all targets supporting C++ RTTI.
Change clangDriver to allow all targets. Add tests for Armv8.5
Branch Target Identification and `-fpatchable-function-entry=`.
Reviewed By: peter.smith
Differential Revision: https://reviews.llvm.org/D148573
More information about the All-commits
mailing list