[all-commits] [llvm/llvm-project] 8461c0: [lldb] Pass address expression command args throug...

Jason Molenda via All-commits all-commits at lists.llvm.org
Tue Jul 8 16:22:07 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8461c004358fd8b89ea1a947348e5440a914af52
      https://github.com/llvm/llvm-project/commit/8461c004358fd8b89ea1a947348e5440a914af52
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2025-07-08 (Tue, 08 Jul 2025)

  Changed paths:
    M lldb/source/Interpreter/OptionArgParser.cpp
    M lldb/test/API/macosx/arm-corefile-regctx/TestArmMachoCorefileRegctx.py
    M lldb/test/API/macosx/arm-corefile-regctx/create-arm-corefiles.cpp

  Log Message:
  -----------
  [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



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list