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

include libFuzzer in the NDK #305

Closed
DanAlbert opened this issue Feb 27, 2017 · 14 comments
Closed

include libFuzzer in the NDK #305

DanAlbert opened this issue Feb 27, 2017 · 14 comments
Milestone

Comments

@DanAlbert
Copy link
Member

Including LLVM's libFuzzer in the NDK would make it easier for developers to track down odd crashes that they see reported in the field but can't reproduce locally.

@juneJuly
Copy link

juneJuly commented Jun 1, 2017

@DanAlbert
so, libFuzzer is ready for Android yet?

@stephenhines
Copy link
Collaborator

No, it is not. We are hoping to have it in r16, but it could be later than that depending on other bugs.

@DanAlbert
Copy link
Member Author

@stephenhines: I forget where we landed on this. Is this going to require moving the NDK's libc++ into the toolchain?

@stephenhines
Copy link
Collaborator

Yes, all of libc++ will have to live inside the toolchain if we want to do anything like this. That is the cost of shipping "prebuilts".

@DanAlbert
Copy link
Member Author

Yeah, I'm afraid that's a pretty big change on our end that will probably hinder development quite a bit (and this is the worst possible time to hinder our libc++ work), so this is going to have to go on the back burner until we're in a different position.

@DanAlbert DanAlbert added this to the unplanned milestone Jun 1, 2017
@juneJuly
Copy link

juneJuly commented Jun 2, 2017

so , it's impossible to use libfuzzer to test Android for now

@DanAlbert
Copy link
Member Author

Out of the box, yes. I think you could fetch the LLVM sources matching the NDK compiler release (the SVN revision is in AndroidVersion.txt) and build your own libFuzzer with the NDK and use it. In fact, this is probably a better choice for us than trying to move libc++ into the toolchain. @stephenhines, do you see any issues with that?

@stephenhines
Copy link
Collaborator

That should mostly work for a dedicated developer. We do occasionally have other patches on top of that SVN revision, but I don't think I have ever seen one that would impact libFuzzer. Ultimately we do need to move libc++ into the toolchain to support many other prebuilts, but right now, I think this is the most timely option.

@juneJuly
Copy link

juneJuly commented Jun 5, 2017

@stephenhines @DanAlbert
i will try AndroidVersion.txt.
thanks all the way.
may i contact you if i encountered problems ?

@juneJuly
Copy link

juneJuly commented Jun 5, 2017

well, there comes the problem.
the latest ndk version r14b just support clang-3.8.256229,
while clang-3.8 not support libfuzzer.
so, can't cross compile libFuzzer.a

@DanAlbert
Copy link
Member Author

r15's Clang should.

@juneJuly
Copy link

juneJuly commented Jun 6, 2017

@DanAlbert
thank u, ndk-r15-beta works well.
and if someone encountered error like:
"error: no member named 'to_string' in namespace 'std'"
plz take a look into this link: #82

@DanAlbert
Copy link
Member Author

Yeah, we know. It's the main priority and has been for a few releases, but other things keep getting in the way.

@DanAlbert
Copy link
Member Author

Apparently I opened this bug twice. The fuzzer works now. Not sure when it was first supported, but there's a working example in #653

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants