aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Commands/CommandObjectThread.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2021-07-20 16:41:34 +1000
committerLang Hames <lhames@gmail.com>2021-07-21 09:10:10 +1000
commitfe1fa43f16beac1506a2e73a9f7b3c81179744eb (patch)
treef6fd9b6b823241f49402b8b7cd0550cb19740cd9 /lldb/source/Commands/CommandObjectThread.cpp
parentca4a9386170e656b22773b09f240d26f49a8877c (diff)
downloadllvm-fe1fa43f16beac1506a2e73a9f7b3c81179744eb.zip
llvm-fe1fa43f16beac1506a2e73a9f7b3c81179744eb.tar.gz
llvm-fe1fa43f16beac1506a2e73a9f7b3c81179744eb.tar.bz2
[ORC][ORC-RT] Add initial native-TLV support to MachOPlatform.
Adds code to LLVM (MachOPlatform) and the ORC runtime to support native MachO thread local variables. Adding new TLVs to a JITDylib at runtime is supported. On the LLVM side MachOPlatform is updated to: 1. Identify thread local variables in the LinkGraph and lower them to GOT accesses to data in the __thread_data or __thread_bss sections. 2. Merge and report the address range of __thread_data and thread_bss sections to the runtime. On the ORC runtime a MachOTLVManager class introduced which records the address range of thread data/bss sections, and creates thread-local instances from the initial data on demand. An orc-runtime specific tlv_get_addr implementation is included which saves all register state then calls the MachOTLVManager to get the address of the requested variable for the current thread.
Diffstat (limited to 'lldb/source/Commands/CommandObjectThread.cpp')
0 files changed, 0 insertions, 0 deletions