From c4d61ca1439c677c7c9f0dfd06b7093d9779b611 Mon Sep 17 00:00:00 2001 From: "Bobby R. Bruce" Date: Wed, 10 May 2023 12:19:38 -0700 Subject: [PATCH] tests: Add '--duplicate-sources' to libgem5 SST build Unfortunately the building of SST (in "ext/sst") depends on generated header files. Therefore it adds the build directory to the include path. For this to work the libgem5.so must be build with "--duplicate-sources". Change-Id: I5ed26a89c81402d421f5dfa110de7cf758f28694 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/70497 Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power Tested-by: kokoro --- ext/sst/INSTALL.md | 5 ++++- tests/nightly.sh | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ext/sst/INSTALL.md b/ext/sst/INSTALL.md index 1034d7dd3f..91f92eb7ff 100644 --- a/ext/sst/INSTALL.md +++ b/ext/sst/INSTALL.md @@ -61,9 +61,12 @@ echo "export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$SST_CORE_HOME/lib/pkgconfig/" >> At the root of gem5 folder, ```sh -scons build/RISCV/libgem5_opt.so -j $(nproc) --without-tcmalloc +scons build/RISCV/libgem5_opt.so -j $(nproc) --without-tcmalloc --duplicate-sources ``` +**Note:** `--without-tcmalloc` is required to avoid a conflict with SST's malloc. +`--duplicate-sources` is required as the compilation of SST depends on sources to be present in the "build" directory. + ### Compiling the SST integration At the root of gem5 folder, diff --git a/tests/nightly.sh b/tests/nightly.sh index f5f9295f3b..9286c545cd 100755 --- a/tests/nightly.sh +++ b/tests/nightly.sh @@ -159,7 +159,7 @@ build_and_run_SST () { "${gem5_root}" --rm --memory="${docker_mem_limit}" \ gcr.io/gem5-test/sst-env:${tag} bash -c "\ scons build/${isa}/libgem5_${variant}.so -j${compile_threads} \ ---without-tcmalloc --ignore-style && \ +--without-tcmalloc --duplicate-sources --ignore-style && \ cd ext/sst && \ make clean; make -j ${compile_threads} && \ sst --add-lib-path=./ sst/example.py && \