Skip to content
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

Fix target compilation, we had 10%+ speed loss ... #377

Merged
merged 103 commits into from
May 26, 2020
Merged

Fix target compilation, we had 10%+ speed loss ... #377

merged 103 commits into from
May 26, 2020

Conversation

vanhauser-thc
Copy link
Collaborator

No description provided.

andreafioraldi and others added 30 commits March 23, 2020 11:55
One of the possible reasons of the decrement in performance of AFL++ in the lastest report is due to the missing AFL_ALIGNED_ALLOC env var. Without this variable, dislocator's malloc does not ensure that the returned address is aligned to max_aligned_t (as required by posix) but it is able, in this way, to catch more bugs.
Many applications checks for this alignment and this may cause an early exit in the application (and so a low coverage).
I completely remove dislocator to better understand what is happening in the next run of the experiments.
@googlebot
Copy link

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.

We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the cla label to yes (if enabled on your project).

ℹ️ Googlers: Go here for more info.

@vanhauser-thc
Copy link
Collaborator Author

there is still a 5% performance loss ...

@vanhauser-thc
Copy link
Collaborator Author

vanhauser-thc commented May 25, 2020

now it is ... ok. could be better.

I compiled afl++ without any optimization and the targets with over-optimization and hence the outcome was 20% lower than it should have been. That affected only fuzzbench though, not the normal releases.

For some things I am still clueless. a binary that is generated with clang is better compiled than via afl-clang-fast, although the only differences are some -D__AFL defines and -Warnings stuff. stumps me.

@vanhauser-thc
Copy link
Collaborator Author

vanhauser-thc commented May 26, 2020

OK this is done now.

I added a very special variant - shared memory fuzzing. This should result (hopefully) in ~ 10-25% speed in all targets.

If you could run aflplusplus, aflpluspus_optimal and aflplusplus_shmem and then combine it with 2020-05-24?
that would be amazing. That would finally be a real comparison of afl++ with the other fuzzers. After I fucked up the afl++ build for so long ... .... (I feel stupid)

Copy link
Contributor

@jonathanmetzman jonathanmetzman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jonathanmetzman jonathanmetzman merged commit 64c96ee into google:master May 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants