gcc/libsanitizer/asan
Rainer Orth 7c6071a66f libsanitizer: Intercept __makecontext_v2 on Solaris/SPARC [PR113785]
c-c++-common/asan/swapcontext-test-1.c FAILs on Solaris/SPARC:

FAIL: c-c++-common/asan/swapcontext-test-1.c   -O0  execution test
FAIL: c-c++-common/asan/swapcontext-test-1.c   -O1  execution test
FAIL: c-c++-common/asan/swapcontext-test-1.c   -O2  execution test
FAIL: c-c++-common/asan/swapcontext-test-1.c   -O2 -flto  execution test
FAIL: c-c++-common/asan/swapcontext-test-1.c -O2 -flto -flto-partition=none
execution test
FAIL: c-c++-common/asan/swapcontext-test-1.c -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions execution test
FAIL: c-c++-common/asan/swapcontext-test-1.c   -O3 -g  execution test
FAIL: c-c++-common/asan/swapcontext-test-1.c   -Os  execution test

As detailed in PR sanitizer/113785, this happens because an ABI change
in Solaris 10/SPARC caused the external symbol for makecontext to be
changed to __makecontext_v2, which isn't intercepted.

The following patch, submitted upstream at
https://github.com/llvm/llvm-project/pull/81588, fixes that.

Tested on sparc-sun-solaris2.11 and i386-pc-solaris2.11.

2024-02-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	libsanitizer:
	PR sanitizer/113785
	* asan/asan_interceptors.cpp: Cherry-pick llvm-project revision
	8c2033719a843a1880427a5e8caa5563248bce78.
2024-02-16 14:06:24 +01:00
..
asan_activation.cpp libsanitizer: merge from upstream (0a1bcab9f3bf75c4c5d3e53bafb3eeb80320af46). 2022-05-04 11:00:48 +02:00
asan_activation.h Libsanitizer merge from trunk r368656. 2019-08-14 08:47:11 +00:00
asan_activation_flags.inc Libsanitizer merge from trunk r368656. 2019-08-14 08:47:11 +00:00
asan_allocator.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_allocator.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_debugging.cpp libsanitizer: merge from upstream (0a1bcab9f3bf75c4c5d3e53bafb3eeb80320af46). 2022-05-04 11:00:48 +02:00
asan_descriptions.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_descriptions.h libsanitizer: merge from master 2021-05-13 09:29:17 +02:00
asan_errors.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_errors.h libsanitizer: merge from upstream (3185e47b5a8444e9fd). 2023-04-26 15:51:56 +02:00
asan_fake_stack.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_fake_stack.h Libsanitizer merge from trunk r368656. 2019-08-14 08:47:11 +00:00
asan_flags.cpp libsanitizer: merge from master (84a71d5259c2682403cdbd8710592410a2f128ab) 2022-08-30 12:53:50 +02:00
asan_flags.h Libsanitizer merge from trunk r368656. 2019-08-14 08:47:11 +00:00
asan_flags.inc libsanitizer: merge from master (84a71d5259c2682403cdbd8710592410a2f128ab) 2022-08-30 12:53:50 +02:00
asan_fuchsia.cpp libsanitizer: merge from upstream (0a1bcab9f3bf75c4c5d3e53bafb3eeb80320af46). 2022-05-04 11:00:48 +02:00
asan_globals.cpp libsanitizer: Apply local patches 2023-11-15 12:46:56 +01:00
asan_globals_win.cpp Libsanitizer: merge from trunk with merge.sh. 2019-11-05 13:54:57 +00:00
asan_init_version.h Libsanitizer merge from trunk r368656. 2019-08-14 08:47:11 +00:00
asan_interceptors.cpp libsanitizer: Intercept __makecontext_v2 on Solaris/SPARC [PR113785] 2024-02-16 14:06:24 +01:00
asan_interceptors.h libsanitizer: Apply local patches 2023-11-15 12:46:56 +01:00
asan_interceptors_memintrinsics.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_interceptors_memintrinsics.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_interceptors_vfork.S libsanitizer: merge from master (84a71d5259c2682403cdbd8710592410a2f128ab) 2022-08-30 12:53:50 +02:00
asan_interface.inc libsanitizer: merge from upstream ae59131d3ef311fb4b1e50627c6457be00e60dc9 2022-11-15 16:44:55 +01:00
asan_interface_internal.h libsanitizer: cherry-pick commit 8f5962b1ccb5fcd4d4544121d43efb860ac3cc6d from upstream 2023-02-24 09:14:40 +01:00
asan_internal.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_linux.cpp libsanitizer: merge from upstream (3185e47b5a8444e9fd). 2023-04-26 15:51:56 +02:00
asan_lock.h backport: All source files: Merge from upstream 345033. 2018-10-31 11:14:23 +00:00
asan_mac.cpp libsanitizer: fix build on darwin 2023-11-18 09:49:27 +01:00
asan_malloc_linux.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_malloc_mac.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_malloc_win.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_mapping.h libsanitizer: Apply local patches 2023-11-15 12:46:56 +01:00
asan_mapping_sparc64.h libsanitizer: merge from upstream ae59131d3ef311fb4b1e50627c6457be00e60dc9 2022-11-15 16:44:55 +01:00
asan_memory_profile.cpp libsanitizer: merge from upstream (3185e47b5a8444e9fd). 2023-04-26 15:51:56 +02:00
asan_new_delete.cpp libsanitizer: merge from master (84a71d5259c2682403cdbd8710592410a2f128ab) 2022-08-30 12:53:50 +02:00
asan_poisoning.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_poisoning.h libsanitizer: merge from upstream (0a1bcab9f3bf75c4c5d3e53bafb3eeb80320af46). 2022-05-04 11:00:48 +02:00
asan_posix.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_preinit.cpp Libsanitizer merge from trunk r368656. 2019-08-14 08:47:11 +00:00
asan_premap_shadow.cpp libsanitizer: merge from upstream (0a1bcab9f3bf75c4c5d3e53bafb3eeb80320af46). 2022-05-04 11:00:48 +02:00
asan_premap_shadow.h Libsanitizer merge from trunk r368656. 2019-08-14 08:47:11 +00:00
asan_report.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_report.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_rtl.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_rtl_static.cpp libsanitizer: merge from upstream (0a1bcab9f3bf75c4c5d3e53bafb3eeb80320af46). 2022-05-04 11:00:48 +02:00
asan_rtl_x86_64.S libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_scariness_score.h Libsanitizer: merge from trunk with merge.sh. 2019-11-05 13:54:57 +00:00
asan_shadow_setup.cpp libsanitizer: merge from master (c86b4503a94c277534ce4b9a5c015a6ac151b98a). 2021-11-04 13:24:53 +01:00
asan_stack.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_stack.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_stats.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_stats.h Libsanitizer merge from trunk r368656. 2019-08-14 08:47:11 +00:00
asan_suppressions.cpp Libsanitizer: merge from trunk with merge.sh. 2019-11-05 13:54:57 +00:00
asan_suppressions.h Libsanitizer merge from trunk r368656. 2019-08-14 08:47:11 +00:00
asan_thread.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_thread.h libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_win.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_win_dll_thunk.cpp libsanitizer: merge from upstream (c425db2eb558c263) 2023-11-15 12:45:58 +01:00
asan_win_dynamic_runtime_thunk.cpp Libsanitizer: merge from trunk with merge.sh. 2019-11-05 13:54:57 +00:00
asan_win_weak_interception.cpp Libsanitizer merge from trunk r368656. 2019-08-14 08:47:11 +00:00
libtool-version libsanitizer: Bump asan/tsan versions 2021-10-01 09:02:54 -07:00
Makefile.am libsanitizer: Check assembler support for symbol assignment [PR112563] 2023-11-28 14:54:34 +01:00
Makefile.in libsanitizer: Check assembler support for symbol assignment [PR112563] 2023-11-28 14:54:34 +01:00