summaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.cpp
diff options
context:
space:
mode:
authorPranav Kant <prka@google.com>2025-11-10 11:54:16 -0800
committerGitHub <noreply@github.com>2025-11-10 11:54:16 -0800
commit2f54efd1bf96f08e564dbd092f65c04b16e9d4dc (patch)
treeaecf75f5c6f85381189094f58759e66df40e29ba /lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.cpp
parent70a6475fdd6cb80e9c4f0fa3c523ab806dfeb46b (diff)
[MachineOutliner] Don't outline ADRP pair to avoid incorrect ICF (#160232)
On AArch64, ADRP and its user instructions (LDR, ADD, etc.), that are referencing a GOT symbol, when separated into different functions by machine outliner exposes a correctness issue in the linker ICF. In such cases, user instructions can end up pointing to a folded section (with its canonical folded symbol), while ADRP instruction point to a GOT entry corresponding to the original symbol. This leads to loading from incorrect memory address after ICF. #129122 explains how this can happen in detail. This addresses #131660 which should fix two things: 1. Hide the correctness issue described above in the LLVM linker. 2. Allows optimizations that could relax GOT addressing to PC-relative addressing.
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.cpp')
0 files changed, 0 insertions, 0 deletions