aboutsummaryrefslogtreecommitdiff
path: root/libsanitizer/ubsan/ubsan_handlers.cpp
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2019-11-05 14:55:27 +0100
committerMartin Liska <marxin@gcc.gnu.org>2019-11-05 13:55:27 +0000
commitacd700fdc77b856264b3b49673a8e4d9a9dcbdff (patch)
treec30e496c94175aa58a6c76d7e4b8ae5f403c2e63 /libsanitizer/ubsan/ubsan_handlers.cpp
parent617be04ad7806882245d659319a6d8aa9e5ec1d3 (diff)
downloadgcc-acd700fdc77b856264b3b49673a8e4d9a9dcbdff.zip
gcc-acd700fdc77b856264b3b49673a8e4d9a9dcbdff.tar.gz
gcc-acd700fdc77b856264b3b49673a8e4d9a9dcbdff.tar.bz2
Reapply all revisions mentioned in LOCAL_PATCHES.
2019-11-05 Martin Liska <mliska@suse.cz> * asan/asan_globals.cpp (CheckODRViolationViaIndicator): Reapply from LOCAL_PATCHES. (CheckODRViolationViaPoisoning): Likewise. (RegisterGlobal): Likewise. * asan/asan_interceptors.h (ASAN_INTERCEPT___CXA_RETHROW_PRIMARY_EXCEPTION): Likewise. (defined): Likewise. * asan/asan_mapping.h: Likewise. * sanitizer_common/sanitizer_linux_libcdep.cpp (defined): Likewise. * sanitizer_common/sanitizer_mac.cpp (defined): Likewise. * sanitizer_common/sanitizer_platform_limits_linux.cpp (defined): Likewise. * sanitizer_common/sanitizer_platform_limits_posix.h: Likewise. * sanitizer_common/sanitizer_stacktrace.cpp (GetCanonicFrame): Likewise. * tsan/tsan_rtl_ppc64.S: Likewise. * ubsan/ubsan_handlers.cpp (__ubsan::__ubsan_handle_cfi_bad_icall): Likewise. (__ubsan::__ubsan_handle_cfi_bad_icall_abort): Likewise. * ubsan/ubsan_handlers.h (struct CFIBadIcallData): Likewise. (struct CFICheckFailData): Likewise. (RECOVERABLE): Likewise. * ubsan/ubsan_platform.h: Likewise. From-SVN: r277836
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 3f9da75..0ddbb50 100644
--- a/libsanitizer/ubsan/ubsan_handlers.cpp
+++ b/libsanitizer/ubsan/ubsan_handlers.cpp
@@ -819,6 +819,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) {