summaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
diff options
context:
space:
mode:
authorVladislav Khmelevsky <och95@yandex.ru>2023-02-10 17:09:03 +0400
committerVladislav Khmelevsky <och95@yandex.ru>2023-03-13 13:37:28 +0400
commit7117af529ebd389a0eee1ed2683ba2ec8fc21449 (patch)
treef7a4811cc7d2bd88e9fe7a9e62a689b32f9b755f /lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
parent23b0df72d272015f72800980dc029cca5bd991f0 (diff)
[BOLT] Improve dynamic relocations support for CI
This patch fixes few problems with supporting dynamic relocations in CI. 1. After dynamic relocations and functions were read search for dynamic relocations located in functions. Currently we expected them only to be relative and only to be in constant island. Mark islands of such functions to have dynamic relocations and create CI access symbol on the relocation offset, so the BD would be created for such place. 2. During function disassemble and handling address reference for constant island check if the referred external CI has dynamic relocation. And if it has one we would continue to refer original CI rather then creating a local copy. 3. After function disassembly stage mark function that has dynamic reloc in CI as non-simple. We don't want such functions to be optimized, since such passes as split function would create 2 copies of CI which we unable to support currently. 4. During updating output values for BF search for BD located in CI and update their output locations. 5. On dynamic relocation patching stage search for binary data located on relocation offset. If it was moved use new relocation offset value rather then an old one. Vladislav Khmelevsky, Advanced Software Technology Lab, Huawei Differential Revision: https://reviews.llvm.org/D143748
Diffstat (limited to 'lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp')
0 files changed, 0 insertions, 0 deletions