feat: implement 128-bit comparison logging (AVX/SIMD)#3748
Open
yoursanonymous wants to merge 1 commit intoAFLplusplus:mainfrom
Open
feat: implement 128-bit comparison logging (AVX/SIMD)#3748yoursanonymous wants to merge 1 commit intoAFLplusplus:mainfrom
yoursanonymous wants to merge 1 commit intoAFLplusplus:mainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This Pull Request introduces 128-bit comparison logging to LibAFL, enabling the fuzzer to observe and mutate vector comparisons commonly found in modern SIMD-accelerated code
describe your PR here
issue #3749
Key Changes
CmpValues and CmplogByte Expansion: Added CmpValues::U128 variant to represent 128-bit comparison operands and CmplogBytes internal bufferincreased from 32 to 64 bytes.
Serde Support: Implemented manual Serialize and Deserialize for CmplogBytes
128-bit Extraction: Implemented reconstruction of u128 values from 64-bit halves in CmpLogMap
Added support for AflppCmpLogOperands to extract full 128-bit comparisons from the AFL++ extended maps.
Mutator Integration:Updated I2SRandReplace and I2SRandReplaceBinonly to support 128-bit comparison tokens.
Extended AflppRedQueen with a placeholder U128 arm for consistent trait coverage.
Robustness: Added buffer promotion logic in libafl_targets to safely handle different comparison sizes (promoting 32-bit routine operands to 64-bit CmplogBytes).
Checklist
./scripts/precommit.shand addressed all comments