aboutsummaryrefslogtreecommitdiff
path: root/lldb/unittests/ScriptInterpreter/Python
diff options
context:
space:
mode:
authorFangrui Song <i@maskray.me>2025-08-02 10:29:33 -0700
committerFangrui Song <i@maskray.me>2025-08-02 10:29:33 -0700
commitf1aa6050bd90f8ec4273da55d362e23905ad3a81 (patch)
tree1ecc573e950b057492936a58b5dfff0236849ae3 /lldb/unittests/ScriptInterpreter/Python
parent9d7a23304497742612af7b33b94b99a7c9d06701 (diff)
downloadllvm-f1aa6050bd90f8ec4273da55d362e23905ad3a81.zip
llvm-f1aa6050bd90f8ec4273da55d362e23905ad3a81.tar.gz
llvm-f1aa6050bd90f8ec4273da55d362e23905ad3a81.tar.bz2
MCFragment: Use trailing data for fixed-size part
Reapply after #151724 switched to `char *Data`, fixing a -fsanitize=pointer-overflow issue in MCAssembler::layout. --- The fixed-size content of the MCFragment object is now stored as trailing data, replacing ContentStart/ContentEnd with ContentSize. The available space for trailing data is tracked using `FragSpace`. If the available space is insufficient, a new block is allocated within the bump allocator `MCObjectStreamer::FragStorage`. FragList::Tail cannot be reused when switching sections or subsections, as it is not associated with the fragment space tracked by `FragSpace`. Instead, allocate a new fragment, which becomes less expensive after #150574. Data can only be appended to the tail fragment of a subsection, not to fragments in the middle. Post-assembler-layout adjustments (such as .llvm_addrsig and .llvm.call-graph-profile) have been updated to use the variable-size part instead. Pull Request: https://github.com/llvm/llvm-project/pull/150846
Diffstat (limited to 'lldb/unittests/ScriptInterpreter/Python')
0 files changed, 0 insertions, 0 deletions