[all-commits] [llvm/llvm-project] 93509b: [ORC-RT][ORC][MachO] Fix some issues with executor...
lhames via All-commits
all-commits at lists.llvm.org
Thu Dec 7 14:39:08 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 93509b4462a74c3f96eb576f1bbaaa26328e63b2
https://github.com/llvm/llvm-project/commit/93509b4462a74c3f96eb576f1bbaaa26328e63b2
Author: Lang Hames <lhames at gmail.com>
Date: 2023-12-07 (Thu, 07 Dec 2023)
Changed paths:
M compiler-rt/lib/orc/macho_platform.cpp
A compiler-rt/test/orc/TestCases/Darwin/arm64/Inputs/ret_self.S
A compiler-rt/test/orc/TestCases/Darwin/arm64/trivial-dlsym.c
A compiler-rt/test/orc/TestCases/Darwin/x86-64/Inputs/ret_self.S
A compiler-rt/test/orc/TestCases/Darwin/x86-64/trivial-dlsym.c
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Log Message:
-----------
[ORC-RT][ORC][MachO] Fix some issues with executor-side symbol tables.
1. Prevent deadlock by unlocking JDStatesMutex when calling back to the
controller to request a push of new symbols. (If JDStatesMutex is locked
then the push operation can't register the new symbols, and so can't
complete).
2. Record MachOPlatform runtime symbols during bootstrap and attach their
registration to the bootstrap-completion graph, similar to the way that
deferred allocation actions are handled. We can't register the symbols
the normal way during bootstrap since the symbol registration function is
itself in the process of being materialized.
3. Add dlsym testcases to exercise these fixes.
More information about the All-commits
mailing list