[Lldb-commits] [lldb] [lldb] [Mach-O] ProcessMachCore needs to strip TBI data from addrs (PR #84998)
David Spickett via lldb-commits
lldb-commits at lists.llvm.org
Wed Mar 13 01:47:28 PDT 2024
================
@@ -0,0 +1,49 @@
+"""Test that lldb on Darwin ignores metadata in the top byte of addresses."""
+
+import os
+import re
+import subprocess
+
+import lldb
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbutil
+
+
+class TestTBIHonored(TestBase):
+ @no_debug_info_test
+ @skipUnlessDarwin
+ @skipIf(archs=no_match(["arm64", "arm64e"]))
+ @skipIfRemote
+ def do_variable_access_tests(self, frame):
+ self.assertEqual(
+ frame.variables["pb"][0]
+ .GetChildMemberWithName("p")
+ .Dereference()
+ .GetValueAsUnsigned(),
+ 15,
+ )
+ addr = frame.variables["pb"][0].GetChildMemberWithName("p").GetValueAsUnsigned()
+ self.expect("expr -- *pb.p", substrs=["15"])
+ self.expect("frame variable *pb.p", substrs=["15"])
+ self.expect("expr -- *(int*)0x%x" % addr, substrs=["15"])
+
+ def test(self):
----------------
DavidSpickett wrote:
I think the test framework is going to run this method as the test case, so put the decorators on this instead.
https://github.com/llvm/llvm-project/pull/84998
More information about the lldb-commits
mailing list