-
Notifications
You must be signed in to change notification settings - Fork 48
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
Update libFuzzer to be from the 'release_90' branch #39
Conversation
Looks like this isn't working due to rust-fuzz/cargo-fuzz#161 |
Yep, that is a pre-existing issue. |
Lets see… do we have bors on this repo? bors r+ |
39: Update libFuzzer to be from the 'release_90' branch r=nagisa a=alex Co-authored-by: Alex Gaynor <[email protected]>
Build failed |
Okay, we cannot land this without additional work. Attempting to fuzz with the newer versions of libFuzzer results in:
As far as I know rustc has not yet added support for |
Ahh, of course, I'd forgotten about that. |
From what I can tell we just need to change the llvm flags that we pass in, but that will still need changes to |
The painful bit is that we need some amount of synchronization here -- if
we change just rustc or just libfuzzer-sys stuff is broken :-(
…On Sun, Oct 20, 2019 at 11:31 AM Simonas Kazlauskas < ***@***.***> wrote:
From what I can tell we just need to change the flags that we expect, but
that will still need changes to cargo-fuzz AFAIK
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<https://github.com/rust-fuzz/libfuzzer-sys/pull/39?email_source=notifications&email_token=AAAAGBBXK2UOP4FN6DEMCJLQPR2UBA5CNFSM4JCUUWXKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBYMWDI#issuecomment-544262925>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAAGBANONMVGN66DTOY2FDQPR2UBANCNFSM4JCUUWXA>
.
--
All that is necessary for evil to succeed is for good people to do nothing.
|
Actually, maybe no rustc changes required, since cargo-fuzz seems to just use |
Yeah. I had succeeded in running with the following flags:
|
@alex can you please adjust the travis scripts to these new flags and also open a PR against cargo-fuzz with a similar change? We can merge everything then. |
I think upgrading |
I think we only want stack-depth on Linux (per the comment in clang). Are
you sure we want trace-geps and prune-blocks? Clang doesn't set either of
those.
…On Sun, Oct 20, 2019 at 11:40 AM Simonas Kazlauskas < ***@***.***> wrote:
Yeah. I had succeeded in running with the following flags:
cargo rustc --release -- -Cpasses='sancov' \
-Cllvm-args=-sanitizer-coverage-level=4 \
-Cllvm-args=-sanitizer-coverage-trace-compares \
-Cllvm-args=-sanitizer-coverage-inline-8bit-counters \
-Cllvm-args=-sanitizer-coverage-stack-depth \
-Cllvm-args=-sanitizer-coverage-trace-geps \
-Cllvm-args=-sanitizer-coverage-prune-blocks=0 \
-Zsanitizer=address \
-Cpanic=abort
# -Cllvm-args=-sanitizer-coverage-pc-table \
pc-table is something that clang enables but doesn’t work with rustc
because of https://bugs.llvm.org/show_bug.cgi?id=34636.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<https://github.com/rust-fuzz/libfuzzer-sys/pull/39?email_source=notifications&email_token=AAAAGBCGGJKZXZTMQLVSPY3QPR3WZA5CNFSM4JCUUWXKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBYM4SI#issuecomment-544263753>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAAGBEUPCG2S2MOHIWF4UTQPR3WZANCNFSM4JCUUWXA>
.
--
All that is necessary for evil to succeed is for good people to do nothing.
|
Build appears to be green now! |
I'm working on the cargo-fuzz side now. |
prune-blocks=0 disables pruning explicitly AFAIR, I don’t see any harm in enabling trace-geps. Everything else seemed to be specified by clang on at least x86-64:
|
https://github.com/llvm/llvm-project/blob/master/clang/lib/Driver/SanitizerArgs.cpp#L383-L388 is what I'm working from, fwiw |
This PR includes both GEPs and prune-blocks. |
bors r+ |
39: Update libFuzzer to be from the 'release_90' branch r=nagisa a=alex Co-authored-by: Alex Gaynor <[email protected]>
Build succeeded |
No description provided.