diff options
author | Igor Kudrin <ikudrin@accesssoftek.com> | 2025-08-05 15:42:08 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-05 15:42:08 -0700 |
commit | 64eba6ef9610a4a82e1610ecd806b8488144bad0 (patch) | |
tree | 2e3d4e7a48edb8c8936a0f44d6b33e0e1a751a24 /llvm/lib/Object/MachOObjectFile.cpp | |
parent | 3bc1b15235c86f08afec9d7a43e7ae431ee18926 (diff) | |
download | llvm-64eba6ef9610a4a82e1610ecd806b8488144bad0.zip llvm-64eba6ef9610a4a82e1610ecd806b8488144bad0.tar.gz llvm-64eba6ef9610a4a82e1610ecd806b8488144bad0.tar.bz2 |
[lldb] Fix auto advance PC in `EmulateInstructionARM64` if PC >= 4G (#151460)
The `EmulateInstructionARM64::EvaluateInstruction()` method used
`uint32_t` to store the PC value, causing addresses greater than 2^32 to
be truncated.
As for now, the issue does not affect the mainline because the method is
never called with both `eEmulateInstructionOptionAutoAdvancePC` and
`eEmulateInstructionOptionIgnoreConditions` options set. However, it can
trigger on a downstream that uses software stepping.
Diffstat (limited to 'llvm/lib/Object/MachOObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions