aboutsummaryrefslogtreecommitdiff
path: root/lldb/test/API/python_api
diff options
context:
space:
mode:
authorJason Molenda <jason@molenda.com>2023-05-04 13:23:51 -0700
committerJason Molenda <jason@molenda.com>2023-05-04 13:23:51 -0700
commit2e16e41b28b1b1e027d0303e1a37ccbded96a46f (patch)
tree5889c433f3a8288e823adf1b61ab80e7569a7c52 /lldb/test/API/python_api
parent4fac08ff1dcd02c89c677365b10921399caf79df (diff)
downloadllvm-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.py19
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])