From 8d57917f0591ec9c01b07c3d194d504c12f338c8 Mon Sep 17 00:00:00 2001 From: Marcus Holland-Moritz Date: Mon, 25 Aug 2025 12:09:59 +0200 Subject: [PATCH] chore: update `LDFLAGS` for static builds This *hopefully* fixes the really weird random exception handling / stack unwinding errors. --- .docker/build-linux.sh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.docker/build-linux.sh b/.docker/build-linux.sh index 7baa320f..2066386e 100755 --- a/.docker/build-linux.sh +++ b/.docker/build-linux.sh @@ -344,9 +344,13 @@ if [[ "-$BUILD_TYPE-" == *-static-* ]]; then _sslprefix="/opt/static-libs/$COMPILER-openssl/$_TARGET" fi - export LDFLAGS="${LDFLAGS} -static -static-libgcc -L$_staticprefix/lib -L$_sslprefix/lib" - export CFLAGS="${CFLAGS} -isystem $_staticprefix/include" - export CXXFLAGS="${CXXFLAGS} -isystem $_staticprefix/include" + if [[ "$COMPILER" == clang* ]]; then + export LDFLAGS="${LDFLAGS} -unwindlib=libgcc -rtlib=libgcc" + fi + + export LDFLAGS="${LDFLAGS} -Wl,--start-group -lstdc++ -lgcc_eh -lgcc -lm -lpthread -Wl,--end-group -static -static-libgcc -L$_staticprefix/lib -L$_sslprefix/lib" + export CFLAGS="${CFLAGS} -g -isystem $_staticprefix/include" + export CXXFLAGS="${CXXFLAGS} -g -isystem $_staticprefix/include" case "$_MARCH" in i386)