From daa630a0afca2dfc344db45352b2688df0a198a7 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Thu, 4 Sep 2025 23:27:24 +0200 Subject: [PATCH 1/2] Update ASFLAGS for esp32p4 target and default for riscv targets --- tools/copy-libs.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/copy-libs.sh b/tools/copy-libs.sh index 7c302ab66..f24d1e809 100755 --- a/tools/copy-libs.sh +++ b/tools/copy-libs.sh @@ -325,8 +325,10 @@ cat configs/pioarduino_start.txt > "$AR_PIOARDUINO_PY" echo " ASFLAGS=[" >> "$AR_PIOARDUINO_PY" if [ "$IS_XTENSA" = "y" ]; then echo " \"-mlongcalls\"" >> "$AR_PIOARDUINO_PY" +elif [ "$IDF_TARGET" = "esp32p4" ]; then + echo " \"-march=rv32imafc_zicsr_zifencei_xesppie\"" >> "$AR_PIOARDUINO_PY" else - echo " \"-march=rv32imc\"" >> "$AR_PIOARDUINO_PY" + echo " \"-march=rv32imc_zicsr_zifencei\"" >> "$AR_PIOARDUINO_PY" fi echo " ]," >> "$AR_PIOARDUINO_PY" echo "" >> "$AR_PIOARDUINO_PY" From 5d7f885e68c2689099a32572ba6987dc768186c7 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sun, 7 Sep 2025 13:47:05 +0200 Subject: [PATCH 2/2] Refactor assembler flags extraction in copy-libs.sh Refactor assembler flags handling to streamline the extraction of -march, -mabi, and -mlongcalls flags from CXX and CC flags. --- tools/copy-libs.sh | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/tools/copy-libs.sh b/tools/copy-libs.sh index f24d1e809..a49b851f0 100755 --- a/tools/copy-libs.sh +++ b/tools/copy-libs.sh @@ -318,18 +318,23 @@ done mkdir -p "$AR_SDK" +# Keep only -march, -mabi and -mlongcalls flags for Assembler +PIOARDUINO_AS_FLAGS=$( + { + echo "$PIOARDUINO_CXX_FLAGS" | grep -oE '\-march=[^[:space:]]*|\-mabi=[^[:space:]]*|\-mlongcalls' + echo "$PIOARDUINO_CC_FLAGS" | grep -oE '\-march=[^[:space:]]*|\-mabi=[^[:space:]]*|\-mlongcalls' + } | awk '!seen[$0]++' | paste -sd ' ' +) + # start generation of pioarduino-build.py AR_PIOARDUINO_PY="$AR_SDK/pioarduino-build.py" cat configs/pioarduino_start.txt > "$AR_PIOARDUINO_PY" echo " ASFLAGS=[" >> "$AR_PIOARDUINO_PY" -if [ "$IS_XTENSA" = "y" ]; then - echo " \"-mlongcalls\"" >> "$AR_PIOARDUINO_PY" -elif [ "$IDF_TARGET" = "esp32p4" ]; then - echo " \"-march=rv32imafc_zicsr_zifencei_xesppie\"" >> "$AR_PIOARDUINO_PY" -else - echo " \"-march=rv32imc_zicsr_zifencei\"" >> "$AR_PIOARDUINO_PY" -fi +set -- $PIOARDUINO_AS_FLAGS +for item; do + echo " \"$item\"," >> "$AR_PIOARDUINO_PY" +done echo " ]," >> "$AR_PIOARDUINO_PY" echo "" >> "$AR_PIOARDUINO_PY"