Skip to content

Commit

Permalink
[lldb][Target] Remove BoundsSafetyTrapFrameRecognizer
Browse files Browse the repository at this point in the history
`VerboseTrapFrameRecognizer` recognizes `__builtin_verbose_trap`
frames, which is used in newer versions of `-fbounds-safety`.

This makes `BoundsSafetyTrapFrameRecognizer` redundant. This patch
removes it (but makes sure `VerboseTrapFrameRecognizer` still recognizes
the old `-fbounds-safety` frame-names).

This also fixes the test failure on Swift CI currently we currently
incorrectly pick the `BoundsSafetyTrapFrameRecognizer` because
the `__builtin_verbose_trap` message contains the string `Bounds check
failed`:
```
/Users/ec2-user/jenkins/workspace/oss-lldb-incremental-macos-cmake/llvm-project/lldb/test/Shell/BoundsSafety/boundssafetytrap.test:5:10: error: CHECK: expected string not found in input
         ^
<stdin>:1:1: note: scanning from here
(lldb) command source -s 0 '/Users/ec2-user/jenkins/workspace/oss-lldb-incremental-macos-cmake/build/Ninja-ReleaseAssert+stdlib-Release/lldb-macosx-x86_64/test/Shell/lit-lldb-init-quiet'
^
<stdin>:11:69: note: possible intended match here
* thread #1, queue = 'com.apple.main-thread', stop reason = __clang_trap_msg$Bounds check failed$Dereferencing above bounds
                                                                    ^
```

(cherry picked from commit 837546237c8e1f557ea829aa3dd320e8391e6a22)
  • Loading branch information
Michael137 committed Dec 12, 2024
1 parent cb6d38c commit 98e9d88
Showing 1 changed file with 8 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -80,12 +80,9 @@ def partial_oob(self, type_name):
def overflow_oob(self, type_name):
return self.get_idx_var_regex(oob_kind=OOBKind.Overflow, type_name=type_name)

def setUp(self):
TestBase.setUp(self)
if _get_bool_config("ios_disclosed", fail_value=False):
self.build()

def test_bidi_known_type_size(self):
self.build()

(_, self.process, _, bkpt) = lldbutil.run_to_source_breakpoint(
self, r"// break here:.+", lldb.SBFileSpec("bidi_check_known_type_size.c")
)
Expand Down Expand Up @@ -154,6 +151,8 @@ def test_bidi_known_type_size(self):
self.expect("frame variable fams2", patterns=[self.bidi_full_oob("FAMS_t *")])

def test_bidi_unknown_type_size(self):
self.build()

(_, self.process, _, bkpt) = lldbutil.run_to_source_breakpoint(
self, r"// break here:.+", lldb.SBFileSpec("bidi_check_unknown_type_size.c")
)
Expand Down Expand Up @@ -203,6 +202,8 @@ def test_bidi_unknown_type_size(self):
self.expect("frame variable oob_null", patterns=[self.bidi_full_oob("void *")])

def test_idx_known_type_size(self):
self.build()

(_, self.process, _, bkpt) = lldbutil.run_to_source_breakpoint(
self, r"// break here:.+", lldb.SBFileSpec("idx_check_known_type_size.c")
)
Expand Down Expand Up @@ -252,6 +253,8 @@ def test_idx_known_type_size(self):
self.expect("frame variable fams2", patterns=[self.full_oob("FAMS_t *")])

def test_idx_unknown_type_size(self):
self.build()

(_, self.process, _, bkpt) = lldbutil.run_to_source_breakpoint(
self, r"// break here:.+", lldb.SBFileSpec("idx_check_unknown_type_size.c")
)
Expand Down

0 comments on commit 98e9d88

Please sign in to comment.