Skip to content

Commit dc006a1

Browse files
author
git apple-llvm automerger
committed
Merge commit '2f271173f80b' from swift/release/6.1 into stable/20240723
2 parents 0bfaf3f + 2f27117 commit dc006a1

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1408,7 +1408,17 @@ def read_register_values(self, reg_infos, endian, thread_id=None):
14081408
p_response = context.get("p_response")
14091409
self.assertIsNotNone(p_response)
14101410
self.assertTrue(len(p_response) > 0)
1411-
self.assertFalse(p_response[0] == "E")
1411+
1412+
# on x86 Darwin, 4 GPR registers are often
1413+
# unavailable, this is expected and correct.
1414+
if (
1415+
self.getArchitecture() == "x86_64"
1416+
and self.platformIsDarwin()
1417+
and p_response[0] == "E"
1418+
):
1419+
values[reg_index] = 0
1420+
else:
1421+
self.assertFalse(p_response[0] == "E")
14121422

14131423
values[reg_index] = unpack_register_hex_unsigned(endian, p_response)
14141424

lldb/test/API/commands/register/register/register_command/TestRegisters.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@ def get_sme_available(self):
4141

4242
@skipIfiOSSimulator
4343
@skipIf(archs=no_match(["amd64", "arm", "i386", "x86_64"]))
44+
# This test assumes Xcode 16.2 or newer is being used, or
45+
# the in-tree debugserver is being used. Some CI bots
46+
# are still using an earlier Xcode, and the test will fail.
47+
# Skip this test on Intel systems, on release/6.1 branch only.
48+
@skipIf(oslist=["macosx"], archs=["x86_64"])
4449
@expectedFailureAll(oslist=["freebsd", "netbsd"], bugnumber="llvm.org/pr48371")
4550
def test_register_commands(self):
4651
"""Test commands related to registers, in particular vector registers."""
@@ -58,6 +63,13 @@ def test_register_commands(self):
5863
# could not be read. This is expected.
5964
error_str_matched = True
6065

66+
if self.getArchitecture() == "x86_64" and self.platformIsDarwin():
67+
# debugserver on x86 will provide ds/es/ss/gsbase when the
68+
# kernel provides them, but most of the time they will be
69+
# unavailable. So "register read -a" will report that
70+
# 4 registers were unavailable, it is expected.
71+
error_str_matched = True
72+
6173
self.expect(
6274
"register read -a",
6375
MISSING_EXPECTED_REGISTERS,

0 commit comments

Comments
 (0)