[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
Thu Jul 27 15:30:12 PDT 2023

jasonmolenda added inline comments.

Comment at: lldb/source/API/SBProcess.cpp:1260-1261
+      return process_sp->GetHighmemDataAddressMask();
+    case eMaskTypeAny:
+      return process_sp->GetDataAddressMask();
+    }
jasonmolenda wrote:
> clayborg wrote:
> > Any reason we actually have a case for eMaskTypeAny? What makes this useful?
> We have 4 different masks because of Linux's design, and because I have an internal customer doing different page table layouts for high & low memory in the same process (sigh), but realistically 99% of our programs are going to have the same mask for all 4 types.  Making an SB API user choose which mask they want of the four makes it harder to use, imo.  The folks doing genuinely unusual things, like the internal customer I have using high & low memory with different page table setups, can jump through the hoops of getting the different masks.
Just to be clear:  I expect any SB API user who is using these is always going to call `SBProcess::SetAddressMask(lldb.eMaskTypeAll, mask)` and `SBProcess::GetAddressMask(lldb.eMaskTypeAny)`.  Maybe some day we'll support a target where code & data masks are necessarily different and this simplification will be a problem for SB API users, but today I think they are fine with doing simply this.

  rG LLVM Github Monorepo



More information about the lldb-commits mailing list