Commit Graph

142 Commits

Author SHA1 Message Date
Matt Morehouse b0c50ef759 Revert "Add libFuzzer shared object build output"
This reverts commit 98d91aecb2 since it
breaks on platforms without libstdc++.
2020-08-05 12:11:24 -07:00
Matt Morehouse 98d91aecb2 Add libFuzzer shared object build output
This change adds a CMake rule to produce shared object versions of
libFuzzer (no-main). Like the static library versions, these shared
libraries have a copy of libc++ statically linked in. For i386 we don't
link with libc++ since i386 does not support mixing position-
independent and non-position-independent code in the same library.

Patch By: IanPudney

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D84947
2020-08-05 09:03:22 -07:00
Matt Morehouse 34ddf0b2b0 Replace fuzzer::FuzzerDriver's INTERFACE marking with new LLVMRunFuzzerDriver.
This adds a new extern "C" function that serves the same purpose. This removes the need for external users to depend on internal headers in order to use this feature. It also standardizes the interface in a way that other fuzzing engines will be able to match.

Patch By: IanPudney

Reviewed By: kcc

Differential Revision: https://reviews.llvm.org/D84561
2020-07-27 18:38:04 +00:00
Sylvestre Ledru 986051749c doc: use the right url to bugzilla 2020-03-22 22:49:40 +01:00
Sylvestre Ledru 72fd1033ea Doc: Links should use https 2020-03-22 22:49:33 +01:00
Max Moroz 2ddff6fab0 [libFuzzer] Minor documentation fixes. 2020-02-03 14:41:06 -08:00
Kazuaki Ishizaki f65d4aa960 [llvm] NFC: fix trivial typos in documents
Reviewers: hans, Jim

Reviewed By: Jim

Subscribers: jvesely, nhaehnle, mgorny, arphaman, bmahjour, kerbowa, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D73017
2020-01-22 11:32:51 +08:00
Marek Kurdej 73cebfe412 [libFuzzer] docs: update note to include REDUCE event. 2019-10-24 12:04:12 +02:00
Matt Morehouse 949a126438 [docs] Update structure-aware-fuzzing link.
The document has been moved to the google/fuzzing GitHub repo.

llvm-svn: 372423
2019-09-20 19:39:50 +00:00
Kostya Serebryany 9aac4c1be3 [libFuzzer] document -len_control
llvm-svn: 356422
2019-03-18 22:20:47 +00:00
Kostya Serebryany 2ea42b3beb [libFuzzer] fix the docs
llvm-svn: 354536
2019-02-21 00:43:46 +00:00
Kostya Serebryany 9c9a8a96d3 [libFuzzer] document -fork=N
llvm-svn: 354533
2019-02-21 00:32:30 +00:00
Kostya Serebryany bf223e9d59 [libFuzzer] docs: add a FAQ entry about dlclose
llvm-svn: 354392
2019-02-19 22:11:50 +00:00
Hans Wennborg be4c0ff00a LibFuzzer.rst: double backticks
llvm-svn: 353809
2019-02-12 09:08:52 +00:00
Jonathan Metzman b98fea9c11 Document libFuzzer on Windows.
Summary:
Document that libFuzzer supports Windows, how to get it,
and its limitations.

Reviewers: kcc, morehouse, rnk, metzman

Reviewed By: kcc, rnk, metzman

Subscribers: hans, rnk

Differential Revision: https://reviews.llvm.org/D57597

llvm-svn: 353551
2019-02-08 19:35:04 +00:00
Kostya Serebryany 025e03d62b [libFuzzer] update docs
llvm-svn: 352715
2019-01-31 01:47:29 +00:00
James Y Knight 5d71fc5d7b Adjust documentation for git migration.
This fixes most references to the paths:
 llvm.org/svn/
 llvm.org/git/
 llvm.org/viewvc/
 github.com/llvm-mirror/
 github.com/llvm-project/
 reviews.llvm.org/diffusion/

to instead point to https://github.com/llvm/llvm-project.

This is *not* a trivial substitution, because additionally, all the
checkout instructions had to be migrated to instruct users on how to
use the monorepo layout, setting LLVM_ENABLE_PROJECTS instead of
checking out various projects into various subdirectories.

I've attempted to not change any scripts here, only documentation. The
scripts will have to be addressed separately.

Additionally, I've deleted one document which appeared to be outdated
and unneeded:
  lldb/docs/building-with-debug-llvm.txt

Differential Revision: https://reviews.llvm.org/D57330

llvm-svn: 352514
2019-01-29 16:37:27 +00:00
Matt Morehouse d7df6279e1 [libFuzzer] Update documentation regarding MSan.
Summary: -fsanitize=fuzzer,memory now works out-of-the-box.

Reviewers: kcc

Reviewed By: kcc

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D49441

llvm-svn: 337476
2018-07-19 17:59:11 +00:00
Matt Morehouse ddf352b953 [libFuzzer] Include TEMP_MAX_LEN in Fuzzer::PrintStats.
Reviewers: kcc

Reviewed By: kcc

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D43597

llvm-svn: 325817
2018-02-22 19:00:17 +00:00
Kostya Serebryany de9bafb162 [libFuzzer] add a flag -malloc_limit_mb
llvm-svn: 319590
2017-12-01 22:12:04 +00:00
Kostya Serebryany 954cfd56c7 [libFuzzer] mention one more trophie in the Linux Kernel
llvm-svn: 319397
2017-11-30 02:26:47 +00:00
Kostya Serebryany 547fa15823 [libFuzzer] add docs for -reduce_inputs
llvm-svn: 318439
2017-11-16 18:58:14 +00:00
Kostya Serebryany f035b9d631 [libFuzzer] update links in the docs
llvm-svn: 317837
2017-11-09 21:35:28 +00:00
Kostya Serebryany 4db445ab5c [libFuzzer] update the docs, document how to resume the merge
llvm-svn: 317836
2017-11-09 21:32:02 +00:00
Justin Bogner fd5b2a0806 docs: Add some information about Fuzzing LLVM itself
This splits some content out of the libFuzzer docs and adds a fair
amount of detail about the fuzzers in LLVM.

llvm-svn: 315544
2017-10-12 01:44:24 +00:00
Kostya Serebryany 194d0edf73 [libFuzzer] one more trophy
llvm-svn: 313562
2017-09-18 20:48:35 +00:00
Kostya Serebryany a85ab2e5a1 [libFuzzer] recommend Clang Coverage for coverage visualization
llvm-svn: 310751
2017-08-11 20:32:47 +00:00
George Karpenkov 73b7e78350 Update libFuzzer documentation for -fsanitize=fuzzer-no-link flag
Differential Revision: https://reviews.llvm.org/D36602

llvm-svn: 310734
2017-08-11 17:23:45 +00:00
George Karpenkov b0c2bb572d [libFuzzer tests] Only enable libFuzzer tests if
-DLIBFUZZER_ENABLE_TESTS=ON is set.

llvm-svn: 310100
2017-08-04 19:29:16 +00:00
George Karpenkov 8ecdd7be15 Port libFuzzer tests to LIT. Do not require two-stage build for check-fuzzer.
This revision ports all libFuzzer tests apart from the unittest to LIT.
The advantages of doing so include:

 - Tests being self-contained
 - Much easier debugging of a single test
 - No need for using a two-stage compilation

The unit-test is still compiled using CMake, but it does not need a
freshly built compiler.

NOTE: The previous two-stage bot configuration will NOT work, as in the
second stage build LLVM_USE_SANITIZER is set, which disables ASAN from
being built.
Thus bots will be reconfigured in the next few commits.

Differential Revision: https://reviews.llvm.org/D36295

llvm-svn: 310075
2017-08-04 17:19:45 +00:00
Kostya Serebryany 4a27b70ed5 [libFuzzer] enable reduce_inputs=1 by default (seems to be a big win usually)
llvm-svn: 308541
2017-07-19 22:10:30 +00:00
Hiroshi Inoue 7d7df204ef fix typo in document; NFC
llvm-svn: 307775
2017-07-12 12:16:22 +00:00
Kostya Serebryany b068087bd8 [libFuzzer] update docs on -print_coverage/-dump_coverage
llvm-svn: 302498
2017-05-09 01:34:27 +00:00
George Karpenkov 0d447d514a Updates documentation for a syntax sugar libfuzzer flag,
as implemented in https://reviews.llvm.org/D32193

llvm-svn: 301217
2017-04-24 18:39:52 +00:00
George Karpenkov 0ab4f06bf1 Testing commit credentials
llvm-svn: 301200
2017-04-24 17:28:32 +00:00
Kostya Serebryany 23f28e6c75 [libFuzzer] more trophies
llvm-svn: 300366
2017-04-14 20:11:16 +00:00
Kostya Serebryany 924978bb43 [libFuzzer] better link for trophies
llvm-svn: 292318
2017-01-18 00:45:02 +00:00
Kostya Serebryany 9a038c188c [libFuzzer] doc update
llvm-svn: 289849
2016-12-15 18:47:22 +00:00
Kostya Serebryany 8efb35b4cb [libFuzzer] document one more desired feature of a fuzz target
llvm-svn: 289622
2016-12-14 01:31:21 +00:00
Kostya Serebryany 97ff7672aa [libFuzzer] better documentation for -fsanitize-coverage=trace-cmp
llvm-svn: 287240
2016-11-17 17:31:54 +00:00
Kostya Serebryany 047485ef69 [libFuzzer] one more trophy
llvm-svn: 286703
2016-11-12 02:55:45 +00:00
Kostya Serebryany b506466a8a [libFuzzer] minor docs update
llvm-svn: 286299
2016-11-08 21:57:37 +00:00
Kostya Serebryany 8a56917492 [libFuzzer] fix -error_exitcode=N, now with a test
llvm-svn: 285958
2016-11-03 19:31:18 +00:00
Kostya Serebryany 8550238f4a [libFuzzer] mention one more trophie
llvm-svn: 285465
2016-10-28 22:03:54 +00:00
Kostya Serebryany 82ff4e7e90 [libFuzzer] a bit more docs
llvm-svn: 285415
2016-10-28 16:55:29 +00:00
Kostya Serebryany c1708b0d99 [libFuzzer] docs: update the examples
llvm-svn: 285344
2016-10-27 21:03:48 +00:00
Kostya Serebryany cbefff7320 [libFuzzer] docs: separate section for fuzz target
llvm-svn: 285339
2016-10-27 20:45:35 +00:00
Kostya Serebryany af67fd1dbd [libFuzzer] remove large examples from the libFuzzer docs and link to the libFuzzer tutorial instead; also fix a build error in another file
llvm-svn: 285337
2016-10-27 20:14:03 +00:00
Kostya Serebryany 8b6af7a9d3 [libFuzzer] refresh docs
llvm-svn: 285157
2016-10-26 01:55:17 +00:00
Kostya Serebryany 42909a6f3a [libFuzzer] mention one more trophie
llvm-svn: 284866
2016-10-21 20:01:45 +00:00