diff options
| author | Jason Molenda <jason@molenda.com> | 2023-05-04 13:23:51 -0700 |
|---|---|---|
| committer | Jason Molenda <jason@molenda.com> | 2023-05-04 13:23:51 -0700 |
| commit | 2e16e41b28b1b1e027d0303e1a37ccbded96a46f (patch) | |
| tree | 5889c433f3a8288e823adf1b61ab80e7569a7c52 /lldb/test/API/python_api | |
| parent | 4fac08ff1dcd02c89c677365b10921399caf79df (diff) | |
| download | llvm-2e16e41b28b1b1e027d0303e1a37ccbded96a46f.zip llvm-2e16e41b28b1b1e027d0303e1a37ccbded96a46f.tar.gz llvm-2e16e41b28b1b1e027d0303e1a37ccbded96a46f.tar.bz2 | |
Add AArch64 MASK watchpoint support in debugserver
Add suport for MASK style watchpoints on AArch64 in debugserver
on Darwin systems, for watching power-of-2 sized memory ranges.
More work needed in lldb before this can be exposed to the user
(because they will often try watching memory ranges that are not
exactly power-of-2 in size/alignment) but this is the first part
of adding that capability.
Differential Revision: https://reviews.llvm.org/D149792
rdar://108233371
Diffstat (limited to 'lldb/test/API/python_api')
| -rw-r--r-- | lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py b/lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py index 8177e39..d67f9f7 100644 --- a/lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py +++ b/lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py @@ -129,10 +129,15 @@ class TargetWatchAddressAPITestCase(TestBase): "pointee", value.GetValueAsUnsigned(0), value.GetType().GetPointeeType()) - # Watch for write to *g_char_ptr. - error = lldb.SBError() - watchpoint = target.WatchAddress( - value.GetValueAsUnsigned(), 365, False, True, error) - self.assertFalse(watchpoint) - self.expect(error.GetCString(), exe=False, - substrs=['watch size of %d is not supported' % 365]) + + # debugserver on Darwin AArch64 systems can watch large regions + # of memory via https://reviews.llvm.org/D149792 , don't run this + # test there. + if self.getArchitecture() not in ['arm64', 'arm64e', 'arm64_32']: + # Watch for write to *g_char_ptr. + error = lldb.SBError() + watchpoint = target.WatchAddress( + value.GetValueAsUnsigned(), 365, False, True, error) + self.assertFalse(watchpoint) + self.expect(error.GetCString(), exe=False, + substrs=['watch size of %d is not supported' % 365]) |
