diff --git a/build-package.sh b/build-package.sh index 36b3a5636..b009c45ee 100755 --- a/build-package.sh +++ b/build-package.sh @@ -571,13 +571,17 @@ termux_step_setup_toolchain() { if [ -n "$TERMUX_DEBUG" ]; then CFLAGS+=" -g3 -O1 -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2" else - if [ "$TERMUX_PKG_CLANG" = "no" ] || [ "$TERMUX_PKG_NAME" = "ruby" -a "$TERMUX_ARCH" = arm ]; then - # The exception for "ruby" and arm exception is to avoid -Oz for ruby, which causes - # segmentation fault on 32-bit arm with NDK r15c and ruby 2.4.2 (#1520). + if [ "$TERMUX_PKG_CLANG" = "no" ]; then CFLAGS+=" -Os" else - # -Oz seems good for clang, see https://github.com/android-ndk/ndk/issues/133 - CFLAGS+=" -Oz" + if [ "$TERMUX_PKG_NAME" = "ruby" -a "$TERMUX_ARCH" = arm ]; then + # This exception is to avoid a broken ruby on 32-bit arm + # with NDK r15c and ruby 2.4.2 - see #1520. + CFLAGS+=" -O1" + else + # -Oz seems good for clang, see https://github.com/android-ndk/ndk/issues/133 + CFLAGS+=" -Oz" + fi fi fi