aboutsummaryrefslogtreecommitdiff
path: root/libsanitizer/ubsan/ubsan_handlers.cpp
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2021-07-20 10:46:51 -0700
committerMartin Liska <mliska@suse.cz>2021-11-04 13:26:17 +0100
commit65ade6a34cb62f82494c0a8ca4ff3600f3a94af9 (patch)
tree39c87aa79f20855dec0ec03f01d5310cb4ac92d6 /libsanitizer/ubsan/ubsan_handlers.cpp
parent0cedf1fb76c10bbb9d23f4953b8fecd8eba908d3 (diff)
downloadgcc-65ade6a34cb62f82494c0a8ca4ff3600f3a94af9.zip
gcc-65ade6a34cb62f82494c0a8ca4ff3600f3a94af9.tar.gz
gcc-65ade6a34cb62f82494c0a8ca4ff3600f3a94af9.tar.bz2
libsanitizer: Apply local patches
Diffstat (limited to 'libsanitizer/ubsan/ubsan_handlers.cpp')
-rw-r--r--libsanitizer/ubsan/ubsan_handlers.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/libsanitizer/ubsan/ubsan_handlers.cpp b/libsanitizer/ubsan/ubsan_handlers.cpp
index e201e6b..2184625 100644
--- a/libsanitizer/ubsan/ubsan_handlers.cpp
+++ b/libsanitizer/ubsan/ubsan_handlers.cpp
@@ -894,6 +894,21 @@ void __ubsan_handle_cfi_bad_type(CFICheckFailData *Data, ValueHandle Vtable,
} // namespace __ubsan
+void __ubsan::__ubsan_handle_cfi_bad_icall(CFIBadIcallData *CallData,
+ ValueHandle Function) {
+ GET_REPORT_OPTIONS(false);
+ CFICheckFailData Data = {CFITCK_ICall, CallData->Loc, CallData->Type};
+ handleCFIBadIcall(&Data, Function, Opts);
+}
+
+void __ubsan::__ubsan_handle_cfi_bad_icall_abort(CFIBadIcallData *CallData,
+ ValueHandle Function) {
+ GET_REPORT_OPTIONS(true);
+ CFICheckFailData Data = {CFITCK_ICall, CallData->Loc, CallData->Type};
+ handleCFIBadIcall(&Data, Function, Opts);
+ Die();
+}
+
void __ubsan::__ubsan_handle_cfi_check_fail(CFICheckFailData *Data,
ValueHandle Value,
uptr ValidVtable) {