[all-commits] [llvm/llvm-project] db07e0: [TSan] Omit vfork interceptor iOS simulator runtime
Julian Lettner via All-commits
all-commits at lists.llvm.org
Fri Jan 21 17:37:16 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: db07e082abafb1494ba674047645e6113316673c
https://github.com/llvm/llvm-project/commit/db07e082abafb1494ba674047645e6113316673c
Author: Julian Lettner <julian.lettner at apple.com>
Date: 2022-01-21 (Fri, 21 Jan 2022)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Log Message:
-----------
[TSan] Omit vfork interceptor iOS simulator runtime
`_vfork` moved from libsystem_kernel.dylib to libsystem_c.dylib as part
of the below changes. The iOS simulator does not actually have
libsystem_kernel.dylib of its own, it only has the host Mac's. The
umbrella-nature of Libsystem makes this movement transparent to
everyone; except the simulator! So when we "back deploy", i.e., use the
current version of TSan with an older simulator runtime then this symbol
is now missing, when we run on the latest OS (but an older simulator
runtime).
Note we use `SANITIZER_IOS` because usage of vfork is forbidden on iOS
and the API is completely unavailable on watchOS and tvOS, even if this
problem is specific to the iOS simulator.
Caused by:
rdar://74818691 (Shim vfork() to fork syscall on iOS)
rdar://76762076 (Shim vfork() to fork syscall on macOS)
Radar-Id: rdar://8634734
More information about the All-commits
mailing list