llvm-project/compiler-rt/lib/orc
luxufan 590326382d [Orc] Support atexit in Orc(JITLink)
There is a bug reported at https://bugs.llvm.org/show_bug.cgi?id=48938

After looking through the glibc, I found the `atexit(f)` is the same as `__cxa_atexit(f, NULL, NULL)`. In orc runtime, we identify different JITDylib by their dso_handle value, so that a NULL dso_handle is invalid. So in this patch, I added a `PlatformJDDSOHandle` to ELFNixRuntimeState, and functions which are registered by atexit will be registered at PlatformJD.

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D111413
2021-10-09 12:25:47 +08:00
..
unittests [ORC-RT] ExecutorAddrDiff ergonomic improvements; contains and overlaps methods 2021-09-25 12:01:42 -07:00
CMakeLists.txt [JITLink] Add initial native TLS support to ELFNix platform 2021-09-13 14:35:49 +08:00
adt.h [ORC-RT] Add equality/inequality comparison to string_view. 2021-06-01 11:24:19 -07:00
c_api.h [orc] Fix unit tests that use ORC C API 2021-08-24 14:19:46 -07:00
common.h [ORC-RT] Introduce a ORC_RT_JIT_DISPATCH_TAG macro. 2021-07-20 11:30:54 +10:00
compiler.h [ORC-RT] Add ORC_RT prefix to WEAK_IMPORT macro. 2021-07-20 11:30:54 +10:00
elfnix_platform.cpp [Orc] Support atexit in Orc(JITLink) 2021-10-09 12:25:47 +08:00
elfnix_platform.h [Orc] Support atexit in Orc(JITLink) 2021-10-09 12:25:47 +08:00
elfnix_tls.x86-64.S [JITLink] Add initial native TLS support to ELFNix platform 2021-09-13 14:35:49 +08:00
endianness.h Rename compiler-rt/lib/orc/endian.h to endianness.h to avoid conflict with system headers 2021-06-08 17:53:58 -07:00
error.h [ORC-RT] Add ORC runtime error and expected types. 2021-05-19 13:31:25 -07:00
executor_address.h [ORC-RT] ExecutorAddrDiff ergonomic improvements; contains and overlaps methods 2021-09-25 12:01:42 -07:00
extensible_rtti.cpp Re-apply "[ORC-RT] Add unit test infrastructure, extensible_rtti..." 2021-05-11 10:28:33 -07:00
extensible_rtti.h Re-apply "[ORC-RT] Add unit test infrastructure, extensible_rtti..." 2021-05-11 10:28:33 -07:00
log_error_to_stderr.cpp [ORC][ORC-RT] Introduce ORC-runtime based MachO-Platform. 2021-07-19 19:50:16 +10:00
macho_platform.cpp [ORC-RT] ExecutorAddrDiff ergonomic improvements; contains and overlaps methods 2021-09-25 12:01:42 -07:00
macho_platform.h [ORC-RT] Rename ExecutorAddress to ExecutorAddr. 2021-09-23 21:42:23 -07:00
macho_tlv.x86-64.S Re-re-re-apply "[ORC][ORC-RT] Add initial native-TLV support to MachOPlatform." 2021-07-24 13:16:12 +10:00
run_program_wrapper.cpp [ORC][ORC-RT] Introduce ORC-runtime based MachO-Platform. 2021-07-19 19:50:16 +10:00
simple_packed_serialization.h [ORC-RT] Rename ExecutorAddress to ExecutorAddr. 2021-09-23 21:42:23 -07:00
stl_extras.h Add a couple of missing includes 2021-06-08 17:53:58 -07:00
wrapper_function_utils.h [ORC-RT] Add non-const WrapperFunctionResult data access, simplify allocate. 2021-08-24 17:34:59 +10:00