agroce / afl-compiler-fuzzer Goto Github PK
View Code? Open in Web Editor NEWVariation of american fuzzy lop for testing compilers
Home Page: http://lcamtuf.coredump.cx/afl/
License: Apache License 2.0
Variation of american fuzzy lop for testing compilers
Home Page: http://lcamtuf.coredump.cx/afl/
License: Apache License 2.0
There is every reason to guess these features would
be easy-ish to add to https://github.com/AFLplusplus/AFLplusplus
be useful for making it better at fuzzing compilers
likely be better than this (since AFL++ seems to improve on stock AFL)
It would seem that the https://en.wikipedia.org/wiki/Metamorphic_testing is very related work.
I'm trying to build this fork of AFL on Fedora 36, specifically the binary-only mode based on QEMU, but am running into the following errors:
$ PYTHON=python2.7 ./build_qemu_support.sh
...
/home/bastian/Documents/afl-compiler-fuzzer/qemu_mode/qemu-2.10.0/linux-user/syscall.c:261:16: error: static declaration of ‘gettid’ follows non-static declaration
261 | _syscall0(int, gettid)
| ^~~~~~
/home/bastian/Documents/afl-compiler-fuzzer/qemu_mode/qemu-2.10.0/linux-user/syscall.c:191:13: note: in definition of macro ‘_syscall0’
191 | static type name (void) \
| ^~~~
In file included from /usr/include/unistd.h:1218,
from /home/bastian/Documents/afl-compiler-fuzzer/qemu_mode/qemu-2.10.0/include/qemu/osdep.h:75,
from /home/bastian/Documents/afl-compiler-fuzzer/qemu_mode/qemu-2.10.0/linux-user/syscall.c:20:
/usr/include/bits/unistd_ext.h:34:16: note: previous declaration of ‘gettid’ with type ‘__pid_t(void)’ {aka ‘int(void)’}
34 | extern __pid_t gettid (void) __THROW;
| ^~~~~~
/home/bastian/Documents/afl-compiler-fuzzer/qemu_mode/qemu-2.10.0/linux-user/ioctls.h:173:9: error: ‘SIOCGSTAMP’ undeclared here (not in a function); did you mean ‘SIOCSRARP’?
173 | IOCTL(SIOCGSTAMP, IOC_R, MK_PTR(MK_STRUCT(STRUCT_timeval)))
| ^~~~~~~~~~
/home/bastian/Documents/afl-compiler-fuzzer/qemu_mode/qemu-2.10.0/linux-user/syscall.c:5597:23: note: in definition of macro ‘IOCTL’
5597 | { TARGET_ ## cmd, cmd, #cmd, access, 0, { __VA_ARGS__ } },
| ^~~
/home/bastian/Documents/afl-compiler-fuzzer/qemu_mode/qemu-2.10.0/linux-user/ioctls.h:174:9: error: ‘SIOCGSTAMPNS’ undeclared here (not in a function); did you mean ‘SIOCGSTAMP_OLD’?
174 | IOCTL(SIOCGSTAMPNS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_timespec)))
| ^~~~~~~~~~~~
/home/bastian/Documents/afl-compiler-fuzzer/qemu_mode/qemu-2.10.0/linux-user/syscall.c:5597:23: note: in definition of macro ‘IOCTL’
5597 | { TARGET_ ## cmd, cmd, #cmd, access, 0, { __VA_ARGS__ } },
| ^~~
/home/bastian/Documents/afl-compiler-fuzzer/qemu_mode/qemu-2.10.0/linux-user/syscall.c: In function ‘do_open_by_handle_at’:
/home/bastian/Documents/afl-compiler-fuzzer/qemu_mode/qemu-2.10.0/linux-user/syscall.c:7248:5: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations]
7248 | fh = g_memdup(target_fh, total_size);
| ^~
In file included from /usr/include/glib-2.0/glib.h:82,
from /home/bastian/Documents/afl-compiler-fuzzer/qemu_mode/qemu-2.10.0/include/glib-compat.h:19,
from /home/bastian/Documents/afl-compiler-fuzzer/qemu_mode/qemu-2.10.0/include/qemu/osdep.h:107:
/usr/include/glib-2.0/glib/gstrfuncs.h:257:23: note: declared here
257 | gpointer g_memdup (gconstpointer mem,
| ^~~~~~~~
make[1]: *** [/home/bastian/Documents/afl-compiler-fuzzer/qemu_mode/qemu-2.10.0/rules.mak:66: linux-user/syscall.o] Error 1
make: *** [Makefile:326: subdir-x86_64-linux-user] Error 2
Could you please provide more details on what distribution/version this project can be used? Thank you!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.