[Lldb-commits] [PATCH] D155905: lldb RFC: Exposing set/get address masks, Fix*Address methods in SBProcess

Jason Molenda via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Jul 26 15:16:42 PDT 2023


jasonmolenda added a comment.

Also interesting to consider if there should be an "Any" define.  e.g.

  enum AddressMaskType {
    eTypeCode = 0,
    eTypeData,
    eTypeHighmemCode,
    eTypeHighmemData,
    eTypeAny
  };
  lldb::addr_t GetAddressMask(AddressMaskType mask_type);
  void SetAddressMask(AddressMaskType mask_type, lldb::addr_t mask);

The patch also adds SBProcess::FixCodeAddress, SBProcess::FixDataAddress, and SBProcess::FixAddress -- FixAddress is always calling FixDataAddress right now, because Data can be at any address on all the targets we support today, whereas CodeAddress may have low bits masked off (e.g. armv7 where the low bit is sometimes used to indicate arm/thub, but it could be for AArch64 as well).  So `GetAddressMask(eTypeAny)` would probably return the data mask, and `SetAddressMask(eTypeAny, mask)` would set all the address masks to the same value.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D155905/new/

https://reviews.llvm.org/D155905



More information about the lldb-commits mailing list