
So that we don't have to bump libubsan.so.1 SONAME, the following patch reverts part of the changes which removed two handlers. While we don't actually use them from GCC, we shouldn't remove supported entrypoints unless SONAME is changed (removal of __interceptor_* or ___interceptor_* is fine). This is the only removal, other libraries just added some symbols. 2023-11-15 Jakub Jelinek <jakub@redhat.com> * ubsan/ubsan_handlers_cxx.h (FunctionTypeMismatchData): Forward declare. (__ubsan_handle_function_type_mismatch_v1, __ubsan_handle_function_type_mismatch_v1_abort): Declare. * ubsan/ubsan_handlers_cxx.cpp (handleFunctionTypeMismatch, __ubsan_handle_function_type_mismatch_v1, __ubsan_handle_function_type_mismatch_v1_abort): New functions readded for backwards compatibility from older ubsan. * ubsan/ubsan_interface.inc (__ubsan_handle_function_type_mismatch_v1, __ubsan_handle_function_type_mismatch_v1_abort): Readd.
63 lines
3.4 KiB
PHP
63 lines
3.4 KiB
PHP
//===-- ubsan_interface.inc -----------------------------------------------===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
// Ubsan interface list.
|
|
//===----------------------------------------------------------------------===//
|
|
INTERFACE_FUNCTION(__ubsan_handle_add_overflow)
|
|
INTERFACE_FUNCTION(__ubsan_handle_add_overflow_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_alignment_assumption)
|
|
INTERFACE_FUNCTION(__ubsan_handle_alignment_assumption_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_builtin_unreachable)
|
|
INTERFACE_FUNCTION(__ubsan_handle_cfi_bad_type)
|
|
INTERFACE_FUNCTION(__ubsan_handle_cfi_check_fail)
|
|
INTERFACE_FUNCTION(__ubsan_handle_cfi_check_fail_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_divrem_overflow)
|
|
INTERFACE_FUNCTION(__ubsan_handle_divrem_overflow_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_dynamic_type_cache_miss)
|
|
INTERFACE_FUNCTION(__ubsan_handle_dynamic_type_cache_miss_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_float_cast_overflow)
|
|
INTERFACE_FUNCTION(__ubsan_handle_float_cast_overflow_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_function_type_mismatch_v1)
|
|
INTERFACE_FUNCTION(__ubsan_handle_function_type_mismatch_v1_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_function_type_mismatch)
|
|
INTERFACE_FUNCTION(__ubsan_handle_function_type_mismatch_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_implicit_conversion)
|
|
INTERFACE_FUNCTION(__ubsan_handle_implicit_conversion_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_invalid_builtin)
|
|
INTERFACE_FUNCTION(__ubsan_handle_invalid_builtin_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_invalid_objc_cast)
|
|
INTERFACE_FUNCTION(__ubsan_handle_invalid_objc_cast_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_load_invalid_value)
|
|
INTERFACE_FUNCTION(__ubsan_handle_load_invalid_value_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_missing_return)
|
|
INTERFACE_FUNCTION(__ubsan_handle_mul_overflow)
|
|
INTERFACE_FUNCTION(__ubsan_handle_mul_overflow_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_negate_overflow)
|
|
INTERFACE_FUNCTION(__ubsan_handle_negate_overflow_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_nonnull_arg)
|
|
INTERFACE_FUNCTION(__ubsan_handle_nonnull_arg_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_nonnull_return_v1)
|
|
INTERFACE_FUNCTION(__ubsan_handle_nonnull_return_v1_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_nullability_arg)
|
|
INTERFACE_FUNCTION(__ubsan_handle_nullability_arg_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_nullability_return_v1)
|
|
INTERFACE_FUNCTION(__ubsan_handle_nullability_return_v1_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_out_of_bounds)
|
|
INTERFACE_FUNCTION(__ubsan_handle_out_of_bounds_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_pointer_overflow)
|
|
INTERFACE_FUNCTION(__ubsan_handle_pointer_overflow_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_shift_out_of_bounds)
|
|
INTERFACE_FUNCTION(__ubsan_handle_shift_out_of_bounds_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_sub_overflow)
|
|
INTERFACE_FUNCTION(__ubsan_handle_sub_overflow_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_type_mismatch_v1)
|
|
INTERFACE_FUNCTION(__ubsan_handle_type_mismatch_v1_abort)
|
|
INTERFACE_FUNCTION(__ubsan_handle_vla_bound_not_positive)
|
|
INTERFACE_FUNCTION(__ubsan_handle_vla_bound_not_positive_abort)
|
|
INTERFACE_WEAK_FUNCTION(__ubsan_default_options)
|
|
INTERFACE_FUNCTION(__ubsan_on_report)
|
|
INTERFACE_FUNCTION(__ubsan_get_current_report_data)
|