summaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
diff options
context:
space:
mode:
authorCollin Baker <collinbaker@chromium.org>2022-01-05 15:58:53 -0500
committerNico Weber <thakis@chromium.org>2022-01-05 16:00:48 -0500
commit7e08a1208889756bb7c44121f63a1b32f6c87ea5 (patch)
treee97107a00e9de2552597f08eb20200069e53c241 /lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
parent4ca5e95c6f4e8f48cd8315d801c186f4e7cae69c (diff)
[clang] Fall back on Android triple w/o API level for runtimes search
Clang searches for runtimes (e.g. libclang_rt*) first in a subdirectory named for the target triple (corresponding to LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON), then if it's not found uses .../lib/<os>/libclang_rt* with a suffix corresponding to the arch and environment name. Android triples optionally include an API level indicating the minimum Android version to be run on (e.g. aarch64-unknown-linux-android21). When compiler-rt is built with LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON this API level is part of the output path. Linking code built for a later API level against a runtime built for an earlier one is safe. In projects with several API level targets this is desireable to avoid re-building the same runtimes many times. This is difficult with the current runtime search method: if the API levels don't exactly match Clang gives up on the per-target runtime directory path. To enable this more simply, this change tries target triple without the API level before falling back on the old layout. Another option would be to try every API level in the triple, e.g. check aarch-64-unknown-linux-android21, then ...20, then ...19, etc. Differential Revision: https://reviews.llvm.org/D115049
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp')
0 files changed, 0 insertions, 0 deletions