From 6025c8125e596ccf5e25c651a8800c072310f3a4 Mon Sep 17 00:00:00 2001 From: Martijn Dekker Date: Sat, 16 Jan 2021 22:01:07 +0100 Subject: [PATCH] make.probe: add fallback optimisation flags src/cmd/INIT/make.probe: - probe_optimize: Also try -O2 and -O, for compilers (such as Solaris Studio cc) that do not support -Os. - Use more robust code to loop through possible optimiser flags. --- src/cmd/INIT/make.probe | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/cmd/INIT/make.probe b/src/cmd/INIT/make.probe index 9c255388c..d6f4b1838 100644 --- a/src/cmd/INIT/make.probe +++ b/src/cmd/INIT/make.probe @@ -34,7 +34,7 @@ probe_lib_all_undef="-all -notall -all -none -Bwhole-archive -Bno-whole-archive probe_lib_multiple="-Wl,-zmuldefs" probe_libdir="shlib lib" probe_nmflags="'' -p -B" -probe_optimize="-Os" +probe_optimize="-Os -O2 -O" probe_pic="-Kpic -KPIC -fpic -fPIC -pic -PIC +z +Z" probe_no_protect="'-fno-stack-protector -fno-stack-protector-all' -GS-" probe_readonly="-R -Krodata -xMerge -Wa,-r" @@ -1553,16 +1553,11 @@ then e=`wc -c < e` case $version_string in $probe_gcc_version) probe_optimize="$probe_gcc_optimize $probe_optimize" ;; esac - eval set x $probe_optimize - while : - do shift - case $# in - 0) break ;; - esac - rm -f warn.$obj - $cc $1 -c warn.$src 2>e && test -f warn.$obj || continue + for i in $probe_optimize + do rm -f warn.$obj + $cc $i -c warn.$src 2>e && test -f warn.$obj || continue case `wc -c < e` in - $e) optimize=$1; break ;; + $e) optimize=$i; break ;; esac done