mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-10 05:59:30 +08:00
I've noticed an inconsistency with the other sanitizers. For -fsanitize={address,thread,leak} we link into binaries lib*san_preinit.o such that the -lasan, -ltsan or -llsan libraries are initialized as early as possible through .preinit_array. The hwasan library has the same thing, but we strangely compiled it into the library (where it apparently didn't do anything, .preinit_array doesn't seem to be created for shared libraries), rather than installing it like in the other 3 cases. The following patch handles it for hwasan similarly to asan, tsan and lsan. I don't have any hw with hwasan support, so I've just checked it builds and installs as expected and that gcc -fsanitize=hwaddress -o a a.c -mlam=u57 on trivial main results in .preinit_array section in the binary. 2022-12-19 Jakub Jelinek <jakub@redhat.com> * config/gnu-user.h (LIBHWASAN_EARLY_SPEC): Add libhwasan_preinit.o to link spec if not -shared. * hwasan/Makefile.am (nodist_toolexeclib_HEADERS): Set to libhwasan_preinit.o. (hwasan_files): Remove hwasan_preinit.cpp. (libhwasan_preinit.o): Copy from hwasan_preinit.o. * hwasan/Makefile.in: Regenerated. |
||
---|---|---|
.. | ||
hwasan_allocation_functions.cpp | ||
hwasan_allocator.cpp | ||
hwasan_allocator.h | ||
hwasan_checks.h | ||
hwasan_dynamic_shadow.cpp | ||
hwasan_dynamic_shadow.h | ||
hwasan_exceptions.cpp | ||
hwasan_flags.h | ||
hwasan_flags.inc | ||
hwasan_fuchsia.cpp | ||
hwasan_globals.cpp | ||
hwasan_globals.h | ||
hwasan_interceptors_vfork.S | ||
hwasan_interceptors.cpp | ||
hwasan_interface_internal.h | ||
hwasan_linux.cpp | ||
hwasan_malloc_bisect.h | ||
hwasan_mapping.h | ||
hwasan_memintrinsics.cpp | ||
hwasan_new_delete.cpp | ||
hwasan_poisoning.cpp | ||
hwasan_poisoning.h | ||
hwasan_preinit.cpp | ||
hwasan_report.cpp | ||
hwasan_report.h | ||
hwasan_setjmp_aarch64.S | ||
hwasan_setjmp_riscv64.S | ||
hwasan_setjmp_x86_64.S | ||
hwasan_tag_mismatch_aarch64.S | ||
hwasan_tag_mismatch_riscv64.S | ||
hwasan_thread_list.cpp | ||
hwasan_thread_list.h | ||
hwasan_thread.cpp | ||
hwasan_thread.h | ||
hwasan_type_test.cpp | ||
hwasan.cpp | ||
hwasan.h | ||
libtool-version | ||
Makefile.am | ||
Makefile.in |