ruby: Build with -O1 on 32-bit arm (see #1520)

This commit is contained in:
Fredrik Fornwall 2017-09-17 23:19:25 +02:00
parent 81604d724b
commit e4c196b040
1 changed files with 9 additions and 5 deletions

View File

@ -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