diff options
author | Martin Liska <mliska@suse.cz> | 2020-11-13 17:21:45 +0100 |
---|---|---|
committer | Martin Liska <mliska@suse.cz> | 2020-11-13 17:29:28 +0100 |
commit | d72227e29a083d7a8929d84894ba024651a1c3a7 (patch) | |
tree | d020564f2a006c61c43cb6913b1fbfee0a88a221 /libsanitizer/ubsan/ubsan_handlers.cpp | |
parent | 98f792ff538109c71d85ab2a61461cd090f3b9f3 (diff) | |
download | gcc-d72227e29a083d7a8929d84894ba024651a1c3a7.zip gcc-d72227e29a083d7a8929d84894ba024651a1c3a7.tar.gz gcc-d72227e29a083d7a8929d84894ba024651a1c3a7.tar.bz2 |
libsanitizer: Apply local patches.
Diffstat (limited to 'libsanitizer/ubsan/ubsan_handlers.cpp')
-rw-r--r-- | libsanitizer/ubsan/ubsan_handlers.cpp | 15 |
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) { |