-
Notifications
You must be signed in to change notification settings - Fork 110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add split-switches-pass to AFL++ instrumentation #554
Conversation
Thanks!
Could you point me to the lines in that file you are using to determine the order? It will be helpful for others who find this PR, and for future contributors should additional passes need to be added. |
Lgtm thanks for fixing aarnav |
-Z llvm-plugins={p}/cmplog-switches-pass.so \ | ||
-Z llvm-plugins={p}/split-switches-pass.so \ | ||
-Z llvm-plugins={p}/SanitizerCoveragePCGUARD.so \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry if this is a dumb question, but how did you choose where in the order to put this plugin (SanitizerCoveragePCGUARD.so
)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the order is the correct one. first cmplog should know about the switch compare, then we split the switches so the coverage can easily see the differences in comparing the switches - then the coverage instrumentation. later the instrumentations of integer/float/string/pointer comparisons.
@smoelius I think this is a bug in the latest nightly. experiencing this on another project too, locally. |
Can I ask which one? |
re-order AFL++ passess because order matters
99d359a
to
891355e
Compare
Published in version 0.15.12. |
@smoelius I guess you figured out the root cause: |
I'm not sure, TBH. |
the
split-switches-pass
was missing for AFL++'s cmplog instrumentation. And also, the order of the passes matters so I re-ordered them in the same order as AFL++'safl-cc.c