[all-commits] [llvm/llvm-project] a9e75b: [ORC][MachO] Fix race condition during MachOPlatfo...
Lang Hames via All-commits
all-commits at lists.llvm.org
Fri Aug 9 00:27:40 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a9e75b1d4d18d09a63f120df4781013c1866b4ff
https://github.com/llvm/llvm-project/commit/a9e75b1d4d18d09a63f120df4781013c1866b4ff
Author: Lang Hames <lhames at gmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Log Message:
-----------
[ORC][MachO] Fix race condition during MachOPlatform bootstrap.
In 93509b4462a74 MachOPlatform was updated to store object symbols in a shared
vector during bootstrap (this table is later attached to the
bootstrap-completion graph once the ORC runtime's symbol table registration
code is ready). The shared vector was not guarded with a mutex, so use of a
concurrent dispatcher could lead to races during bootstrap. This commit fixes
the issue by guarding access to the table with the BootstrapInfo mutex.
No testcase since this only manifests rarely when both a concurrent dispatcher
and the ORC runtime are used. Once we add a concurrent dispatcher option to
llvm-jitlink we may be able to test this with a regression test in the ORC
runtime and TSan enabled.
rdar://133520308
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list