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

build: Allow to configure --with-sanitizers=fuzzer #15047

Merged
merged 1 commit into from Jan 10, 2019

Conversation

Projects
None yet
5 participants
@MarcoFalke
Copy link
Member

commented Dec 27, 2018

No description provided.

@practicalswift

This comment has been minimized.

Copy link
Member

commented Dec 28, 2018

Concept ACK

@laanwj

This comment has been minimized.

Copy link
Member

commented Jan 2, 2019

Might be useful to document this somewhere.

@MarcoFalke MarcoFalke force-pushed the MarcoFalke:Mf1812-buildSanFuzz branch 4 times, most recently Jan 2, 2019

@MarcoFalke MarcoFalke force-pushed the MarcoFalke:Mf1812-buildSanFuzz branch to fad058a Jan 5, 2019

@MarcoFalke

This comment has been minimized.

Copy link
Member Author

commented Jan 5, 2019

Added documentation

@fanquake

This comment has been minimized.

Copy link
Member

commented Jan 7, 2019

Concept/utACK fad058a

Annoyingly, this doesn't work out of the box on macOS:

checking whether C++ compiler accepts -Werror... yes
checking whether C++ compiler accepts -fsanitize=fuzzer,address... yes
checking whether the linker accepts -fsanitize=fuzzer,address... no
configure: error: linker did not accept requested flags, you are missing required libraries

Seemingly because Xcode 10 doesn't include a copy of libclang_rt.fuzzer_osx.a. i.e:

clang++ -fsanitize=fuzzer -o fuzzme fuzzme.cpp
ld: file not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/lib/darwin/libclang_rt.fuzzer_osx.a
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Configuring Core with all other sanitizers, address, thread, undefined etc, works correctly.

Will test in a Linux env shortly.

@DrahtBot

This comment has been minimized.

Copy link
Contributor

commented Jan 9, 2019

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #15043 (test: Build fuzz targets into seperate executables by MarcoFalke)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@DrahtBot

This comment has been minimized.

Copy link
Contributor

commented Jan 10, 2019

Gitian builds for commit 5da08e0 (master):

Gitian builds for commit 830fd7c66bef66cac0acd33d4300f04cea47a8c1 (master and this pull):

@practicalswift

This comment has been minimized.

Copy link
Member

commented Jan 10, 2019

utACK fad058a

@MarcoFalke MarcoFalke merged commit fad058a into bitcoin:master Jan 10, 2019

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

MarcoFalke added a commit that referenced this pull request Jan 10, 2019

Merge #15047: build: Allow to configure --with-sanitizers=fuzzer
fad058a build: Allow to configure --with-sanitizers=fuzzer (MarcoFalke)

Pull request description:

Tree-SHA512: 67b775577da03639ee11826dccb14c82e78d239fe3bcbb753082b254cec52ca8bda071a8161f2f3bc284a7cdc303bbf1b649a1854a42973b1d53cd0ffb516214

@MarcoFalke MarcoFalke deleted the MarcoFalke:Mf1812-buildSanFuzz branch Jan 10, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.