diff options
author | Lang Hames <lhames@gmail.com> | 2020-04-01 15:28:28 -0700 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2020-04-01 19:12:08 -0700 |
commit | 0071eaaf0892d7ef733578312abefdcf84311071 (patch) | |
tree | 6805300dab02f8e42d7d6a97678e2425cb350fff /lldb/source/Commands/CommandObjectThread.cpp | |
parent | 32672b877dc1e05bc4489f2f4598f5472bc60576 (diff) | |
download | llvm-0071eaaf0892d7ef733578312abefdcf84311071.zip llvm-0071eaaf0892d7ef733578312abefdcf84311071.tar.gz llvm-0071eaaf0892d7ef733578312abefdcf84311071.tar.bz2 |
[ORC] Export __cxa_atexit from the main JITDylib in LLJIT.
Failure to export __cxa_atexit can lead to an attempt to import a definition
from the process itself (if __cxa_atexit is referenced from another JITDylib),
but the process definition will clash with the existing non-exported definition
to produce an unexpected DuplicateDefinitionError.
This patch fixes the immediate issue by exporting __cxa_atexit. It also fixes a
bug where atexit functions in other JITDylibs were not being run by adding a
copy of run_atexits_helper to every JITDylib.
A follow up patch will deal with the bug where definition generators are called
despite a non-exported definition being present.
Diffstat (limited to 'lldb/source/Commands/CommandObjectThread.cpp')
0 files changed, 0 insertions, 0 deletions