From 3ea4a8c37c387d711db75548c06d2918ebba9a03 Mon Sep 17 00:00:00 2001 From: Sergej Schumilo Date: Thu, 1 Feb 2024 22:31:51 +0100 Subject: [PATCH] add libxdc compile fallback pass in case LTO is not supported by the compiler --- compile_qemu_nyx.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/compile_qemu_nyx.sh b/compile_qemu_nyx.sh index 7f8c00895e..d7e2297f26 100755 --- a/compile_qemu_nyx.sh +++ b/compile_qemu_nyx.sh @@ -46,7 +46,18 @@ compile_libraries() make -C $CAPSTONE_ROOT -j $(nproc) echo "[!] Compiling libxdc..." + set +e + make -C $LIBXDC_ROOT clean LDFLAGS="-L$CAPSTONE_ROOT -L$LIBXDC_ROOT" CFLAGS="-I$CAPSTONE_ROOT/include/" make -C $LIBXDC_ROOT -j $(nproc) + if [ $? -ne 0 ]; then + echo "[!] libxdc LTO build failed! Trying to compile in non-LTO mode..." + NO_LTO=1 LDFLAGS="-L$CAPSTONE_ROOT -L$LIBXDC_ROOT" CFLAGS="-I$CAPSTONE_ROOT/include/" make -C $LIBXDC_ROOT -j $(nproc) + if [ $? -ne 0 ]; then + echo "[ ] libxdc non-LTO build failed again ..." + exit 1 + fi + fi + set -e ;; esac }