diff options
Diffstat (limited to 'gcc_plugin')
-rw-r--r-- | gcc_plugin/Makefile | 9 | ||||
-rw-r--r-- | gcc_plugin/afl-gcc-fast.c | 14 |
2 files changed, 15 insertions, 8 deletions
diff --git a/gcc_plugin/Makefile b/gcc_plugin/Makefile index 9d312a94..4dcec72f 100644 --- a/gcc_plugin/Makefile +++ b/gcc_plugin/Makefile @@ -25,7 +25,7 @@ HELPER_PATH = $(PREFIX)/lib/afl BIN_PATH = $(PREFIX)/bin CFLAGS ?= -O3 -g -funroll-loops -CFLAGS += -Wall -D_FORTIFY_SOURCE=2 -Wno-pointer-sign \ +CFLAGS += -Wall -I../include -D_FORTIFY_SOURCE=2 -Wno-pointer-sign \ -DAFL_PATH=\"$(HELPER_PATH)\" -DBIN_PATH=\"$(BIN_PATH)\" \ CXXFLAGS ?= -O3 -g -funroll-loops @@ -81,8 +81,11 @@ test_deps: @test -f ../afl-showmap || ( echo "[-] Oops, can't find '../afl-showmap'. Be sure to compile AFL first."; exit 1 ) @echo "[+] All set and ready to build." -../afl-gcc-fast: afl-gcc-fast.c | test_deps - $(CC) -DAFL_GCC_CC=\"$(CC)\" -DAFL_GCC_CXX=\"$(CXX)\" $(CFLAGS) $< -o $@ $(LDFLAGS) +afl-common.o: ../src/afl-common.c + $(CC) $(CFLAGS) -c $< -o $@ $(LDFLAGS) + +../afl-gcc-fast: afl-gcc-fast.c afl-common.o | test_deps + $(CC) -DAFL_GCC_CC=\"$(CC)\" -DAFL_GCC_CXX=\"$(CXX)\" $(CFLAGS) $< afl-common.o -o $@ $(LDFLAGS) ln -sf afl-gcc-fast ../afl-g++-fast ../afl-gcc-pass.so: afl-gcc-pass.so.cc | test_deps diff --git a/gcc_plugin/afl-gcc-fast.c b/gcc_plugin/afl-gcc-fast.c index bf89b867..2aee8f4a 100644 --- a/gcc_plugin/afl-gcc-fast.c +++ b/gcc_plugin/afl-gcc-fast.c @@ -26,10 +26,11 @@ #define AFL_MAIN -#include "../config.h" -#include "../types.h" -#include "../include/debug.h" -#include "../include/alloc-inl.h" +#include "config.h" +#include "types.h" +#include "debug.h" +#include "common.h" +#include "alloc-inl.h" #include <stdio.h> #include <unistd.h> @@ -39,6 +40,7 @@ static u8* obj_path; /* Path to runtime libraries */ static u8** cc_params; /* Parameters passed to the real CC */ static u32 cc_par_cnt = 1; /* Param count, including argv0 */ +u8 use_stdin = 0; /* dummy */ /* Try to find the runtime libraries. If that fails, abort. */ @@ -294,7 +296,7 @@ static void edit_params(u32 argc, char** argv) { /* Main entry point */ -int main(int argc, char** argv) { +int main(int argc, char** argv, char** envp) { if (argc < 2 || strcmp(argv[1], "-h") == 0) { @@ -344,6 +346,8 @@ int main(int argc, char** argv) { } + check_environment_vars(envp); + find_obj(argv[0]); edit_params(argc, argv); |