[Lldb-commits] [lldb] [lldb] Be conversative about setting highmem address masks (PR #90533)

Jason Molenda via lldb-commits lldb-commits at lists.llvm.org
Wed May 1 14:08:01 PDT 2024


================
@@ -1465,6 +1465,20 @@ class Process : public std::enable_shared_from_this<Process>,
   /// platforms where there is a difference (only Arm Thumb at this time).
   lldb::addr_t FixAnyAddress(lldb::addr_t pc);
 
+  /// Retrieve the actual address masks for high memory code/data,
+  /// without the normal fallbacks of returning the low-memory masks
+  /// or the user settings.  Needed by SBProcess to determine if
+  /// the high address masks have actually been set, and should
+  /// be updated when "set all masks" is requested.  In most cases,
+  /// the highmem masks should be left to have LLDB_INVALID_ADDRESS_MASK,
+  /// unset.
+  lldb::addr_t GetConcreteHighmemCodeAddressMask() {
----------------
jasonmolenda wrote:

I think I also thought about moving to a std::optional for all the masks, but in the SB API I need a way to say "no mask available" and without creating an SBAddressMask object with an IsValid() method, I can't represent that without a magic invalid value.

https://github.com/llvm/llvm-project/pull/90533


More information about the lldb-commits mailing list