gcc/libsanitizer/sanitizer_common
Jakub Jelinek 2379cbb94b libsanitizer: On aarch64 use hint #34 in prologue of libsanitizer functions
When gcc is built with -mbranch-protection=standard, running sanitized
programs doesn't work properly on bti enabled kernels.

This has been fixed upstream with
https://github.com/llvm/llvm-project/pull/84061

The following patch cherry picks that from upstream.

For trunk we should eventually do a full merge from upstream, but I'm hoping
they will first fix up the _BitInt libubsan support mess.

2024-09-05  Jakub Jelinek  <jakub@redhat.com>

	* sanitizer_common/sanitizer_asm.h: Cherry-pick llvm-project revision
	1c792d24e0a228ad49cc004a1c26bbd7cd87f030.
	* interception/interception.h: Likewise.
2024-09-05 12:22:19 +02:00
..
Makefile.am libsanitizer: Replace memcpy with internal version in sanitizer_common 2024-01-19 10:40:10 +01:00
Makefile.in libsanitizer: Replace memcpy with internal version in sanitizer_common 2024-01-19 10:40:10 +01:00
sancov_flags.cpp
sancov_flags.h
sancov_flags.inc
sanitizer_addrhashmap.h
sanitizer_allocator_checks.cpp
sanitizer_allocator_checks.h
sanitizer_allocator_combined.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_allocator_dlsym.h
sanitizer_allocator_interface.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_allocator_internal.h libsanitizer: merge from upstream (3185e47b5a8444e9fd). 2023-04-26 15:51:56 +02:00
sanitizer_allocator_local_cache.h
sanitizer_allocator_primary32.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_allocator_primary64.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_allocator_report.cpp
sanitizer_allocator_report.h
sanitizer_allocator_secondary.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_allocator_size_class_map.h
sanitizer_allocator_stats.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_allocator.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_allocator.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_array_ref.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_asm.h libsanitizer: On aarch64 use hint #34 in prologue of libsanitizer functions 2024-09-05 12:22:19 +02:00
sanitizer_atomic_clang_mips.h
sanitizer_atomic_clang_other.h
sanitizer_atomic_clang_x86.h
sanitizer_atomic_clang.h
sanitizer_atomic_msvc.h
sanitizer_atomic.h
sanitizer_bitvector.h
sanitizer_bvgraph.h
sanitizer_chained_origin_depot.cpp
sanitizer_chained_origin_depot.h
sanitizer_common_interceptors_format.inc libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_common_interceptors_ioctl.inc
sanitizer_common_interceptors_memintrinsics.inc libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_common_interceptors_netbsd_compat.inc
sanitizer_common_interceptors_vfork_aarch64.inc.S libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_common_interceptors_vfork_arm.inc.S libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_common_interceptors_vfork_i386.inc.S libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_common_interceptors_vfork_loongarch64.inc.S libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_common_interceptors_vfork_riscv64.inc.S libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_common_interceptors_vfork_x86_64.inc.S libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_common_interceptors.inc libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_common_interface_posix.inc libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_common_interface.inc libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_common_libcdep.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_common_nolibc.cpp
sanitizer_common_syscalls.inc libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_common.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_common.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_coverage_fuchsia.cpp
sanitizer_coverage_interface.inc
sanitizer_coverage_libcdep_new.cpp libsanitizer: merge from upstream (3185e47b5a8444e9fd). 2023-04-26 15:51:56 +02:00
sanitizer_coverage_win_dll_thunk.cpp
sanitizer_coverage_win_dynamic_runtime_thunk.cpp
sanitizer_coverage_win_sections.cpp
sanitizer_coverage_win_weak_interception.cpp
sanitizer_dbghelp.h
sanitizer_deadlock_detector1.cpp
sanitizer_deadlock_detector2.cpp
sanitizer_deadlock_detector_interface.h
sanitizer_deadlock_detector.h
sanitizer_dense_map_info.h
sanitizer_dense_map.h
sanitizer_dl.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_dl.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_errno_codes.h libsanitizer: merge from upstream (3185e47b5a8444e9fd). 2023-04-26 15:51:56 +02:00
sanitizer_errno.cpp
sanitizer_errno.h
sanitizer_file.cpp
sanitizer_file.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_flag_parser.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_flag_parser.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_flags.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_flags.h
sanitizer_flags.inc libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_flat_map.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_freebsd.h
sanitizer_fuchsia.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_fuchsia.h
sanitizer_getauxval.h
sanitizer_glibc_version.h
sanitizer_hash.h
sanitizer_interceptors_ioctl_netbsd.inc libsanitizer: merge from upstream (3185e47b5a8444e9fd). 2023-04-26 15:51:56 +02:00
sanitizer_interface_internal.h libsanitizer: merge from upstream (3185e47b5a8444e9fd). 2023-04-26 15:51:56 +02:00
sanitizer_internal_defs.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_leb128.h
sanitizer_lfstack.h
sanitizer_libc.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_libc.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_libignore.cpp
sanitizer_libignore.h
sanitizer_linux_libcdep.cpp libsanitizer: Apply local patches 2023-11-15 12:46:56 +01:00
sanitizer_linux_s390.cpp
sanitizer_linux.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_linux.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_list.h
sanitizer_local_address_space_view.h
sanitizer_lzw.h
sanitizer_mac_libcdep.cpp
sanitizer_mac.cpp libsanitizer: Apply local patches 2023-11-15 12:46:56 +01:00
sanitizer_mac.h libsanitizer: Apply local patches 2023-11-15 12:46:56 +01:00
sanitizer_mallinfo.h libsanitizer: merge from upstream (3185e47b5a8444e9fd). 2023-04-26 15:51:56 +02:00
sanitizer_malloc_mac.inc libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_mutex.cpp
sanitizer_mutex.h
sanitizer_netbsd.cpp
sanitizer_placement_new.h
sanitizer_platform_interceptors.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_platform_limits_freebsd.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_platform_limits_freebsd.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_platform_limits_linux.cpp libsanitizer: Apply local patches 2023-11-15 12:46:56 +01:00
sanitizer_platform_limits_netbsd.cpp libsanitizer: merge from upstream (3185e47b5a8444e9fd). 2023-04-26 15:51:56 +02:00
sanitizer_platform_limits_netbsd.h libsanitizer: merge from upstream (3185e47b5a8444e9fd). 2023-04-26 15:51:56 +02:00
sanitizer_platform_limits_openbsd.cpp
sanitizer_platform_limits_openbsd.h
sanitizer_platform_limits_posix.cpp libsanitizer: merge from upstream (87e6e490e79384a5) 2023-04-30 09:38:14 +02:00
sanitizer_platform_limits_posix.h libsanitizer: merge from upstream (87e6e490e79384a5) 2023-04-30 09:38:14 +02:00
sanitizer_platform_limits_solaris.cpp
sanitizer_platform_limits_solaris.h
sanitizer_platform.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_posix_libcdep.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_posix.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_posix.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_printf.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_procmaps_bsd.cpp libsanitizer: merge from upstream (3185e47b5a8444e9fd). 2023-04-26 15:51:56 +02:00
sanitizer_procmaps_common.cpp libsanitizer: merge from upstream (3185e47b5a8444e9fd). 2023-04-26 15:51:56 +02:00
sanitizer_procmaps_fuchsia.cpp
sanitizer_procmaps_linux.cpp
sanitizer_procmaps_mac.cpp libsanitizer: Apply local patches 2023-11-15 12:46:56 +01:00
sanitizer_procmaps_solaris.cpp
sanitizer_procmaps.h libsanitizer: merge from upstream (3185e47b5a8444e9fd). 2023-04-26 15:51:56 +02:00
sanitizer_ptrauth.h
sanitizer_quarantine.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_range.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_range.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_redefine_builtins.h libsanitizer: Only use assembler symbol assignment if supported [PR112563] 2023-11-28 14:55:52 +01:00
sanitizer_report_decorator.h
sanitizer_ring_buffer.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_signal_interceptors.inc libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_solaris.cpp
sanitizer_solaris.h
sanitizer_stack_store.cpp
sanitizer_stack_store.h
sanitizer_stackdepot.cpp
sanitizer_stackdepot.h
sanitizer_stackdepotbase.h
sanitizer_stacktrace_libcdep.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_stacktrace_printer.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_stacktrace_printer.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_stacktrace_sparc.cpp libsanitizer: Fix SPARC stacktraces 2023-08-07 11:29:02 +02:00
sanitizer_stacktrace.cpp libsanitizer: Apply local patches 2023-11-15 12:46:56 +01:00
sanitizer_stacktrace.h libsanitizer: merge from upstream (3185e47b5a8444e9fd). 2023-04-26 15:51:56 +02:00
sanitizer_stoptheworld_fuchsia.cpp
sanitizer_stoptheworld_fuchsia.h
sanitizer_stoptheworld_linux_libcdep.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_stoptheworld_mac.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_stoptheworld_netbsd_libcdep.cpp
sanitizer_stoptheworld_win.cpp
sanitizer_stoptheworld.h
sanitizer_suppressions.cpp libsanitizer: merge from upstream (3185e47b5a8444e9fd). 2023-04-26 15:51:56 +02:00
sanitizer_suppressions.h
sanitizer_symbolizer_fuchsia.h
sanitizer_symbolizer_internal.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_symbolizer_libbacktrace.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_symbolizer_libbacktrace.h
sanitizer_symbolizer_libcdep.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_symbolizer_mac.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_symbolizer_mac.h
sanitizer_symbolizer_markup.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_symbolizer_posix_libcdep.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_symbolizer_report.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_symbolizer_win.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_symbolizer.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_symbolizer.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_syscall_generic.inc
sanitizer_syscall_linux_aarch64.inc
sanitizer_syscall_linux_arm.inc
sanitizer_syscall_linux_hexagon.inc
sanitizer_syscall_linux_loongarch64.inc
sanitizer_syscall_linux_riscv64.inc
sanitizer_syscall_linux_x86_64.inc
sanitizer_syscalls_netbsd.inc
sanitizer_termination.cpp
sanitizer_thread_arg_retval.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_thread_arg_retval.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_thread_registry.cpp libsanitizer: merge from upstream (3185e47b5a8444e9fd). 2023-04-26 15:51:56 +02:00
sanitizer_thread_registry.h
sanitizer_thread_safety.h
sanitizer_tls_get_addr.cpp libsanitizer: merge from upstream (3185e47b5a8444e9fd). 2023-04-26 15:51:56 +02:00
sanitizer_tls_get_addr.h libsanitizer: merge from upstream (3185e47b5a8444e9fd). 2023-04-26 15:51:56 +02:00
sanitizer_type_traits.cpp
sanitizer_type_traits.h
sanitizer_unwind_linux_libcdep.cpp libsanitizer: Fix SPARC stacktraces 2023-08-07 11:29:02 +02:00
sanitizer_unwind_win.cpp
sanitizer_vector.h
sanitizer_win_defs.h
sanitizer_win_dll_thunk.cpp
sanitizer_win_dll_thunk.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_win_dynamic_runtime_thunk.cpp
sanitizer_win_weak_interception.cpp
sanitizer_win_weak_interception.h
sanitizer_win.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
sanitizer_win.h