mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-12-04 09:14:04 +08:00
95710d75ec
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.
64 lines
3.4 KiB
PHP
64 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)
|