Use seperate build directory for each piplist.

Vivado expects to be executed in a unique directory in batch mode.
Previous Makefile had all piplist's running the same directory,
resulting in a race condition.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
This commit is contained in:
Keith Rothman 2019-03-01 12:15:54 -08:00
parent 7a57020ce9
commit fbab956017
3 changed files with 8 additions and 7 deletions

View File

@ -30,7 +30,7 @@ build/segbits_clk_hrow.rdb: $(SPECIMENS_OK)
$(shell find build -name segdata_clk_hrow_top_r.txt) \
$(shell find build -name segdata_clk_hrow_bot_r.txt)
build/segbits_clk_hrow.db: build/segbits_clk_hrow.rdb $(XRAY_FUZZERS_DIR)/piplist/build/clk_hrow_bot_r.txt
build/segbits_clk_hrow.db: build/segbits_clk_hrow.rdb $(XRAY_FUZZERS_DIR)/piplist/build/clk_hrow/clk_hrow_bot_r.txt
${XRAY_DBFIXUP} --db-root build --zero-db bits.dbf \
--seg-fn-in build/segbits_clk_hrow.rdb \
--seg-fn-out build/segbits_clk_hrow_rc.db
@ -38,7 +38,7 @@ build/segbits_clk_hrow.db: build/segbits_clk_hrow.rdb $(XRAY_FUZZERS_DIR)/piplis
# Convert row/column into PIP definition.
python3 merge_clk_entries.py \
build/segbits_clk_hrow_rc.db \
$(XRAY_FUZZERS_DIR)/piplist/build/clk_hrow_bot_r.txt \
$(XRAY_FUZZERS_DIR)/piplist/build/clk_hrow/clk_hrow_bot_r.txt \
build/segbits_clk_hrow.db
# Keep a copy to track iter progress

View File

@ -100,7 +100,8 @@ def run(
os.getenv("XRAY_DATABASE_DIR"), os.getenv("XRAY_DATABASE"))
if pip_dir is None:
pip_dir = "%s/piplist/build" % (os.getenv("XRAY_FUZZERS_DIR"))
pip_dir = "%s/piplist/build/%s" % (
os.getenv("XRAY_FUZZERS_DIR"), pip_type)
assert intre, "RE is required"

View File

@ -33,12 +33,12 @@ $(SPECIMENS_OK): build/todo.txt $(SPECIMENS_DEPS)
bash ${XRAY_DIR}/utils/top_generate.sh $(subst /OK,,$@)
touch $@
$(XRAY_FUZZERS_DIR)/piplist/build/$(A_PIPLIST): $(PIPLIST_TCL)
mkdir -p $(XRAY_FUZZERS_DIR)/piplist/build
cd $(XRAY_FUZZERS_DIR)/piplist/build && ${XRAY_VIVADO} -mode batch -source $(PIPLIST_TCL)
$(XRAY_FUZZERS_DIR)/piplist/build/$(PIP_TYPE)/$(A_PIPLIST): $(PIPLIST_TCL)
mkdir -p $(XRAY_FUZZERS_DIR)/piplist/build/$(PIP_TYPE)
cd $(XRAY_FUZZERS_DIR)/piplist/build/$(PIP_TYPE) && ${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: $(XRAY_FUZZERS_DIR)/piplist/build/$(A_PIPLIST) $(XRAY_DIR)/fuzzers/int_maketodo.py build/database/seeded
build/todo.txt: $(XRAY_FUZZERS_DIR)/piplist/build/$(PIP_TYPE)/$(A_PIPLIST) $(XRAY_DIR)/fuzzers/int_maketodo.py build/database/seeded
XRAY_DATABASE_DIR=${FUZDIR}/build/database \
python3 $(XRAY_DIR)/fuzzers/int_maketodo.py \
$(MAKETODO_FLAGS) |sort >build/todo_all.txt