aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>2025-07-08 16:21:45 -0700
committerGitHub <noreply@github.com>2025-07-08 16:21:45 -0700
commit8461c004358fd8b89ea1a947348e5440a914af52 (patch)
tree4e61a3beebbeb15dd282a6d75e22646618c73758 /flang/lib/Frontend/CompilerInvocation.cpp
parentd9060794c20e9446f66be7c20d3c9fe57ba6d382 (diff)
downloadllvm-8461c004358fd8b89ea1a947348e5440a914af52.zip
llvm-8461c004358fd8b89ea1a947348e5440a914af52.tar.gz
llvm-8461c004358fd8b89ea1a947348e5440a914af52.tar.bz2
[lldb] Pass address expression command args through FixAnyAddress (#147011)
Commands that take an address expression/address through the OptionArgParser::ToAddress method, which has filtered this user-specified address through one of the Process Fix methods to clear non-addressable bits (MTE, PAC, top byte ignore, etc). We don't know what class of address this is, IMEM or DMEM, but this method is passing the addresses through Process::FixCodeAddress, and on at least one target, FixCodeAddress clears low bits which are invalid for instructions. Correct this to use FixAnyAddress, which doesn't make alignment assumptions. The actual issue found was by people debugging on a 32-bit ARM Cortex-M part, who tried to do a memory read from an odd address, and lldb returned results starting at the next lower even address. rdar://154885727
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions