fuzzers/Makefiles: pips_int_*.txt now directed to piplist folder

All the fuzzers that made use of the pips_int_*.txt files now seek for
those dependencies in the fuzzers/piplist/build folder so there is no
need to regenerate them if already present

Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
This commit is contained in:
Alessandro Comodi 2019-01-16 12:07:00 +01:00
parent c48a5bc597
commit 5b7575bdd2
2 changed files with 20 additions and 12 deletions

View File

@ -10,6 +10,7 @@ endif
# Driven by int_loop.sh
ITER := 1
MAKETODO_FLAGS=--re ".*" --not-endswith ".VCC_WIRE"
PIPLIST_TCL=$(XRAY_FUZZERS_DIR)/piplist/piplist.tcl
# See int_loop_check.py
# Original did 200 specimins open loop
CHECK_ARGS := --max-iters 12 --stable-iters 2
@ -63,12 +64,13 @@ $(SPECIMENS_OK): build/todo.txt
bash generate.sh $(subst /OK,,$@)
touch $@
build/pips_int_l.txt: $(XRAY_DIR)/fuzzers/piplist.tcl
mkdir -p build/$(ITER)
cd build && ${XRAY_VIVADO} -mode batch -source $(XRAY_DIR)/fuzzers/piplist.tcl
$(XRAY_FUZZERS_DIR)/piplist/build/pips_int_l.txt: $(XRAY_FUZZERS_DIR)/piplist/piplist.tcl
mkdir -p $(XRAY_FUZZERS_DIR)/piplist/build
cd $(XRAY_FUZZERS_DIR)/piplist/build && ${XRAY_VIVADO} -mode batch -source $(PIPLIST_TCL)
build/todo.txt: build/pips_int_l.txt $(XRAY_DIR)/fuzzers/int_maketodo.py
# Doesn't pushdb until very end. Compare against db so far
build/todo.txt: $(XRAY_FUZZERS_DIR)/piplist/build/pips_int_l.txt $(XRAY_DIR)/fuzzers/int_maketodo.py
# Doesn't pushdb until very end. Compare against db so far
mkdir -p build/$(ITER)
python3 $(XRAY_DIR)/fuzzers/int_maketodo.py --db-dir build $(MAKETODO_FLAGS) |sort >build/todo_all.txt
cat build/todo_all.txt | sort -R > build/todo.txt.tmp
mv build/todo.txt.tmp build/todo.txt
@ -92,5 +94,8 @@ clean:
cleaniter:
rm -rf build/$(ITER) build/todo.txt
.PHONY: database pushdb run clean cleaniter
# Remove piplist build files in piplist directory
cleanpiplist:
rm -rf $(XRAY_FUZZERS_DIR)/piplist/build
.PHONY: database pushdb run clean cleaniter cleanpiplist

View File

@ -14,7 +14,7 @@ endif
ITER ?= 1
MAKETODO_FLAGS ?=
PIP_TYPE?=pips_int
PIPLIST_TCL?=$(XRAY_DIR)/fuzzers/piplist.tcl
PIPLIST_TCL?=$(XRAY_FUZZERS_DIR)/piplist/piplist.tcl
# See int_loop_check.py
# rempips took 35 iters once, so set 50 as a good start point
@ -61,12 +61,12 @@ $(SPECIMENS_OK): build/todo.txt
bash ${XRAY_DIR}/utils/top_generate.sh $(subst /OK,,$@)
touch $@
build/$(PIP_TYPE)_l.txt: $(XRAY_DIR)/fuzzers/piplist.tcl
mkdir -p build/$(ITER)
cd build && ${XRAY_VIVADO} -mode batch -source $(PIPLIST_TCL)
$(XRAY_FUZZERS_DIR)/piplist/build/$(PIP_TYPE)_l.txt: $(XRAY_FUZZERS_DIR)/piplist/piplist.tcl
mkdir -p $(XRAY_FUZZERS_DIR)/piplist/build
cd $(XRAY_FUZZERS_DIR)/piplist/build && ${XRAY_VIVADO} -mode batch -source $(PIPLIST_TCL)
# Used 1) to see if we are done 2) pips to try in generate.tcl
build/todo.txt: build/$(PIP_TYPE)_l.txt $(XRAY_DIR)/fuzzers/int_maketodo.py build/database/seeded
build/todo.txt: $(XRAY_FUZZERS_DIR)/piplist/build/$(PIP_TYPE)_l.txt $(XRAY_DIR)/fuzzers/int_maketodo.py build/database/seeded
XRAY_DATABASE_DIR=${FUZDIR}/build/database python3 $(XRAY_DIR)/fuzzers/int_maketodo.py --pip-type $(PIP_TYPE) $(MAKETODO_FLAGS) |sort >build/todo_all.txt
cat build/todo_all.txt | sort -R | head -n$(TODO_N) > build/todo.txt.tmp
mv build/todo.txt.tmp build/todo.txt
@ -97,5 +97,8 @@ clean:
cleaniter:
rm -rf build/$(ITER) build/todo.txt
.PHONY: database pushdb run clean cleaniter
cleanpiplist:
rm -rf $(XRAY_FUZZERS_DIR)/piplist/build
.PHONY: database pushdb run clean cleaniter cleanpiplist