]> granicus.if.org Git - llvm/commit
[ORC] Remove query dependencies when symbols are resolved.
authorLang Hames <lhames@gmail.com>
Fri, 23 Aug 2019 20:37:32 +0000 (20:37 +0000)
committerLang Hames <lhames@gmail.com>
Fri, 23 Aug 2019 20:37:32 +0000 (20:37 +0000)
commitc836cd7c7c61ed5781deb0330d0ddd23557e6543
treeeae4edef2715d89c58040971490afa35a1eda336
parentc0773a5fda10a21d60b7e9f7da855adba7cdfa01
[ORC] Remove query dependencies when symbols are resolved.

If the dependencies are not removed then a late failure (one symbol covered by
the query failing after others have already been resolved) can result in an
attempt to detach the query from already finalized symbol, resulting in an
assert/crash. This patch fixes the issue by removing query dependencies in
JITDylib::resolve for symbols that meet the required state.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369809 91177308-0d34-0410-b5e6-96231b3b80d8
lib/ExecutionEngine/Orc/Core.cpp
unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp