[Lldb-commits] [lldb] Address mask sbprocess apis and new mask invalid const (PR #83663)

Jason Molenda via lldb-commits lldb-commits at lists.llvm.org
Fri Mar 1 23:29:35 PST 2024


jasonmolenda wrote:

@DavidSpickett I spent a little time debugging this on aarch64-ubuntu and also testing on x86_64-macos (which has no address masks at all).  This PR has the original commit from https://github.com/llvm/llvm-project/pull/83095 and then a second commit with the changes I needed to make as I debugged this in the full environment, so you only need to look at the second commit for the new changes.

The main question I have (beyond feedback on how I describe things in comments of course ;) ) is about how TestAddressMasks.py assumes all Fix*Address implementations will handle a low and high memory address mask.  The test currently assumes they do, but that means all people writing these methods need to get the highmem mask if it is a high-mem addr_t and apply that mask if it is set.  I think it's the right choice, but I'm not wedded to it; maybe the right choice is narrowing that part of TestAddressMasks.py to only run on darwin systems.

I also added a base class ABI::Fix*Address so these tests can be used on targets with no address masks at all, if someone wants to manipulate them via SB API for some reason (of course, the real reason is to make the test runnable).  Maybe the test should be limited to only running on aarch64-linux and arm64-apple, I also am not convinced my choice is best here.

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


More information about the lldb-commits mailing list