ruby: Build with -O1 on 32-bit arm (see #1520)
authorFredrik Fornwall <fredrik@fornwall.net>
Sun, 17 Sep 2017 21:19:25 +0000 (23:19 +0200)
committerFredrik Fornwall <fredrik@fornwall.net>
Sun, 17 Sep 2017 21:19:25 +0000 (23:19 +0200)
build-package.sh

index 36b3a56..b009c45 100755 (executable)
@@ -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