diff options
author | iximeow <me@iximeow.net> | 2024-03-17 02:44:57 +0000 |
---|---|---|
committer | iximeow <me@iximeow.net> | 2024-03-17 02:44:57 +0000 |
commit | a91c1c50a39ff68a7e73cef70829e8a5b08b4b6b (patch) | |
tree | 6fa88baec038e8cb43d4f349d627a12df51df1db /differential-tests/tests/capstone-differential.rs | |
parent | 79d220ce177833f7dd80e15e1094bbfbf4c6f8b1 (diff) |
be more explicit about undefined system instructions being invalid
Diffstat (limited to 'differential-tests/tests/capstone-differential.rs')
-rw-r--r-- | differential-tests/tests/capstone-differential.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/differential-tests/tests/capstone-differential.rs b/differential-tests/tests/capstone-differential.rs index 3db6fdd..cbed59f 100644 --- a/differential-tests/tests/capstone-differential.rs +++ b/differential-tests/tests/capstone-differential.rs @@ -368,7 +368,14 @@ fn capstone_differential() { stats.missed_incomplete.fetch_add(1, Ordering::SeqCst); continue; } else { - panic!("yax errored where capstone succeeded. cs text: '{}', bytes: {:x?}", cs_text, bytes); + // capstone dedodes the UNDEFINED encodings in C5.1.2 as "mrs", yax returns + // a decode error. + if cs_text.starts_with("mrs ") { + stats.yax_reject.fetch_add(1, Ordering::SeqCst); + continue; + } else { + panic!("yax errored where capstone succeeded. cs text: '{}', bytes: {:x?}", cs_text, bytes); + } }; fn acceptable_match(yax_text: &str, cs_text: &str) -> bool { |