From e1f1b4c4aa49414ea22f6104cfc4ac116ed4bc03 Mon Sep 17 00:00:00 2001 From: hedge Date: Sun, 5 Jul 2026 11:59:50 -0400 Subject: [PATCH] added -fno-exceptions compiler flag. No try, throws, or catches are used in the program. Saves over ~150KB of flash. Testing required. --- .github/workflows/build_parallel.yml | 4 ++++ .github/workflows/nightly_build.yml | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/.github/workflows/build_parallel.yml b/.github/workflows/build_parallel.yml index 2667499..2becab7 100644 --- a/.github/workflows/build_parallel.yml +++ b/.github/workflows/build_parallel.yml @@ -212,6 +212,7 @@ jobs: sed -i 's/compiler.c.elf.libs.esp32s3=/compiler.c.elf.libs.esp32s3=-zmuldefs /' "$i" sed -i 's/compiler.c.elf.libs.esp32s2=/compiler.c.elf.libs.esp32s2=-zmuldefs /' "$i" sed -i 's/compiler.c.elf.libs.esp32=/compiler.c.elf.libs.esp32=-zmuldefs /' "$i" + sed -i 's/-fexceptions/-fno-exceptions/g' "$i" cat "$i" | grep compiler.c.elf.libs.esp32c3 cat "$i" | grep compiler.c.elf.libs.esp32s3 cat "$i" | grep compiler.c.elf.libs.esp32s2 @@ -223,6 +224,9 @@ jobs: for i in $(find /home/runner/.arduino15/packages/esp32/hardware/esp32/ -name "platform.txt"); do sed -i 's/compiler.c.elf.extra_flags=/compiler.c.elf.extra_flags=-Wl,-zmuldefs /' "$i" done + for f in $(find /home/runner/.arduino15/packages/esp32/tools/esp32-arduino-libs/ -name "cpp_flags"); do + sed -i 's/-fexceptions/-fno-exceptions/g' "$f" + done fi - name: Configure TFT_eSPI (if needed) diff --git a/.github/workflows/nightly_build.yml b/.github/workflows/nightly_build.yml index c5c76b3..e91bf44 100644 --- a/.github/workflows/nightly_build.yml +++ b/.github/workflows/nightly_build.yml @@ -263,6 +263,7 @@ jobs: sed -i 's/compiler.c.elf.libs.esp32s3=/compiler.c.elf.libs.esp32s3=-zmuldefs /' "$i" sed -i 's/compiler.c.elf.libs.esp32s2=/compiler.c.elf.libs.esp32s2=-zmuldefs /' "$i" sed -i 's/compiler.c.elf.libs.esp32=/compiler.c.elf.libs.esp32=-zmuldefs /' "$i" + sed -i 's/-fexceptions/-fno-exceptions/g' "$i" cat "$i" | grep compiler.c.elf.libs.esp32c3 cat "$i" | grep compiler.c.elf.libs.esp32s3 cat "$i" | grep compiler.c.elf.libs.esp32s2 @@ -274,6 +275,9 @@ jobs: for i in $(find /home/runner/.arduino15/packages/esp32/hardware/esp32/ -name "platform.txt"); do sed -i 's/compiler.c.elf.extra_flags=/compiler.c.elf.extra_flags=-Wl,-zmuldefs /' "$i" done + for f in $(find /home/runner/.arduino15/packages/esp32/tools/esp32-arduino-libs/ -name "cpp_flags"); do + sed -i 's/-fexceptions/-fno-exceptions/g' "$f" + done fi - name: Configure TFT_eSPI (if needed)