36 Commits

Author SHA1 Message Date
van Hauser
eda770fd32
push to stable (#1967)
* Output afl-clang-fast stuffs only if necessary (#1912)

* afl-cc header

* afl-cc common declarations

 - Add afl-cc-state.c
 - Strip includes, find_object, debug/be_quiet/have_*/callname setting from afl-cc.c
 - Use debugf_args in main
 - Modify execvp stuffs to fit new aflcc struct

* afl-cc show usage

* afl-cc mode selecting

1. compiler_mode by callname in argv[0]
2. compiler_mode by env "AFL_CC_COMPILER"
3. compiler_mode/instrument_mode by command line options "--afl-..."
4. instrument_mode/compiler_mode by various env vars including "AFL_LLVM_INSTRUMENT"
5. final checking steps
6. print "... - mode: %s-%s\n"
7. determine real argv[0] according to compiler_mode

* afl-cc macro defs

* afl-cc linking behaviors

* afl-cc fsanitize behaviors

* afl-cc misc

* afl-cc body update

* afl-cc all-in-one

formated with custom-format.py

* nits

---------

Co-authored-by: vanhauser-thc <vh@thc.org>

* changelog

* update grammar mutator

* lto llvm 12+

* docs(custom_mutators): fix missing ':' (#1953)

* Fix broken LTO mode and response file support (#1948)

* Strip `-Wl,-no-undefined` during compilation (#1952)

Make the compiler wrapper stripping `-Wl,-no-undefined` in addition to `-Wl,--no-undefined`.
Both versions of the flag are accepted by clang and, therefore, used by building systems in the wild (e.g., samba will not build without this fix).

* Remove dead code in write_to_testcase (#1955)

The custom_mutators_count check in if case is duplicate with if condition.
The else case is custom_mutators_count == 0, neither custom_mutator_list iteration nor sent check needed.

Signed-off-by: Xeonacid <h.dwwwwww@gmail.com>

* update qemuafl

* WIP: Add ability to generate drcov trace using QEMU backend (#1956)

* Document new drcov QEMU plugin

* Add link to lightkeeper for QEMU drcov file loading

---------

Co-authored-by: Jean-Romain Garnier <jean-romain.garnier@airbus.com>

* code format

* changelog

* sleep on uid != 0 afl-system-config

* fix segv about skip_next, warn on unsupported cases of linking options (#1958)

* todos

* ensure afl-cc only allows available compiler modes

* update grammar mutator

* disable aslr on apple

* fix for arm64

* help selective instrumentation

* typos

* macos

* add compiler test script

* apple fixes

* bump nyx submodules (#1963)

* fix docs

* update changelog

* update grammar mutator

* improve compiler test script

* gcc asan workaround (#1966)

* fix github merge fuckup

* fix

* Fix afl-cc (#1968)

- Check if too many cmdline params here, each time before insert a new param.
 - Check if it is "-fsanitize=..." before we do sth.
 - Remove improper param_st transfer.

* Avoid adding llvmnative instrumentation when linking rust sanitizer runtime (#1969)

* Dynamic instrumentation filtering for LLVM native (#1971)

* Add two dynamic instrumentation filter methods to runtime

* Always use pc-table with native pcguard

* Add make_symbol_list.py and README

* changelog

* todos

* new forkserver check

* fix

* nyx test for CI

* improve nyx docs

* Fixes to afl-cc and documentation (#1974)

* Always compile with -ldl when building for CODE_COVERAGE

When building with CODE_COVERAGE, the afl runtime contains code that
calls `dladdr` which requires -ldl. Under most circumstances, clang
already adds this (e.g. when building with pc-table), but there are some
circumstances where it isn't added automatically.

* Add visibility declaration to __afl_connected

When building with hidden visibility, the use of __AFL_LOOP inside such
code can cause linker errors due to __afl_connected being declared
"hidden".

* Update docs to clarify that CODE_COVERAGE=1 is required for dynamic_covfilter

* nits

* nyx build script updates

* test error output

* debug ci

* debug ci

* Improve afl-cc (#1975)

* update response file support

 - full support of rsp file
 - fix some segv issues

* Improve afl-cc

 - remove dead code about allow/denylist options of sancov
 - missing `if (!aflcc->have_msan)`
 - add docs for each function
 - typo

* enable nyx

* debug ci

* debug ci

* debug ci

* debug ci

* debug ci

* debug ci

* debug ci

* debug ci

* fix ci

* clean test script

* NO_NYX

* NO_NYX

* fix ci

* debug ci

* fix ci

* finalize ci fix

---------

Signed-off-by: Xeonacid <h.dwwwwww@gmail.com>
Co-authored-by: Sonic <50692172+SonicStark@users.noreply.github.com>
Co-authored-by: Xeonacid <h.dwwwwww@gmail.com>
Co-authored-by: Nils Bars <nils.bars@rub.de>
Co-authored-by: Jean-Romain Garnier <7504819+JRomainG@users.noreply.github.com>
Co-authored-by: Jean-Romain Garnier <jean-romain.garnier@airbus.com>
Co-authored-by: Sergej Schumilo <sergej@schumilo.de>
Co-authored-by: Christian Holler (:decoder) <choller@mozilla.com>
2024-02-01 14:13:07 +00:00
vanhauser-thc
6e5ca0c78c higher tuples for afl-clang and afl-gcc in tests 2023-07-06 14:28:37 +02:00
vanhauser-thc
01236f47bc nits 2023-03-28 16:50:05 +02:00
vanhauser-thc
9bc5abc4ec reduce CI resources 2023-03-25 12:14:08 +01:00
vanhauser-thc
4c7c78d926 enhance tests for macos 2023-03-10 10:59:52 +01:00
vanhauser-thc
aabfe781fd enhance tests for macos 2023-03-10 10:22:35 +01:00
vanhauser-thc
0fe39e4768 egrep -> grep -e 2022-09-05 13:57:32 +02:00
vanhauser-thc
a91d445b5f make tests working on macos 2021-12-26 01:55:52 +01:00
vanhauser-thc
2d9e0f56b0 debug ci 2021-12-26 01:54:19 +01:00
vanhauser-thc
146eb32c31 make tests working on macos 2021-12-26 01:49:31 +01:00
vanhauser-thc
649076600d debug ci 2021-12-26 01:24:03 +01:00
vanhauser-thc
8521eb8413 debug ci 2021-12-26 01:15:53 +01:00
hexcoder-
d57f0e3a1c remove warning regarding core_pattern (was wrong/unnecessary anyway) 2021-06-08 21:41:01 +02:00
hexcoder-
385312c658 fix issue #732 afl-cmin and afl-showmap should support '-f' 2021-02-13 13:31:17 +01:00
van Hauser
981ffb27a8 making AFL_MAP_SIZE obsolete 2021-02-01 12:01:23 +01:00
van Hauser
ed9f94c5b9 fix CI 2021-01-19 14:20:43 +01:00
hexcoder-
3c88de565a afl-cmin tests: allow leading whitespace in wc -l output 2021-01-02 23:17:30 +01:00
hexcoder-
e83a1bc0d1 test-basic.sh: fix color GRAY to GREY 2021-01-02 20:18:26 +01:00
hexcoder-
5d560c1ece tests: let afl-fuzz run with -D, so more test cases are produced 2020-12-29 23:54:10 +01:00
van Hauser
6f0f167b73 test: skip afl-fuzz test if too few locations were instrumented 2020-12-21 14:05:58 +01:00
van Hauser
a39228def6 make ubuntu 18.04 ci work 2020-12-21 13:36:09 +01:00
van Hauser
14c67f15c9 small fixes 2020-12-16 14:22:09 +01:00
van Hauser
76117b0471 fix afl-clang tests 2020-12-13 11:23:56 +01:00
hexcoder-
ce9e127529 remove debugging sh 2020-12-12 22:56:09 +01:00
hexcoder-
c5c852dada add tests for the missing afl-compiler (afl-gcc or afl-clang) 2020-12-12 22:54:34 +01:00
hexcoder-
665802673d typo fixed 2020-11-05 22:58:55 +01:00
van Hauser
ca938e7c4e asan_build for tmin and analyze 2020-10-24 19:11:41 +02:00
van Hauser
18ad8a097c travis test 2020-10-24 18:08:54 +02:00
van Hauser
aac0ab8c67 travis test 2020-10-24 17:57:05 +02:00
van Hauser
5427f7ca98 fix tests for sync mode 2020-10-12 05:02:11 +02:00
Dominik Maier
c3a6e7e870 testcases indicate count 2020-08-14 00:20:04 +02:00
van Hauser
c270646722 fix wrong incomplete 2020-08-10 09:37:32 +02:00
hexcoder-
32558bc807 minor test fixes for Raspberry Pi Linux 64-bit 2020-08-07 19:41:39 +02:00
Dominik Maier
79f873a597 posix compatible sourcing 2020-08-04 21:57:56 +02:00
Dominik Maier
8850e1a5bf chmod for testcase 2020-08-04 21:47:21 +02:00
Dominik Maier
194188fe56 split up testcases 2020-08-04 21:33:29 +02:00