Fix build error due to toolchain upgrade(gcc6->gcc9)
authorTae-Young Chung <ty83.chung@samsung.com>
Tue, 14 Jan 2020 03:51:06 +0000 (12:51 +0900)
committerInki Dae <inki.dae@samsung.com>
Fri, 17 Jan 2020 06:03:15 +0000 (15:03 +0900)
Fix SIGSEGV; openblas failed to single, double, complex precision tests with
"Segmentation fault - invalid memory reference" log message while building with x86_64.

Change-Id: I4d3ce9608c34e81236c53057b2ce6efc92f6685a
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
packaging/openblas.spec

index 0931556..bc434ae 100644 (file)
@@ -1,6 +1,6 @@
 Name:           openblas
 Version:        0.2.20
-Release:        1
+Release:        2
 Summary:        An optimized BLAS library based on GotoBLAS2
 License:        BSD-3-Clause and MIT and Apache-2.0
 Group:          Productivity/Scientific/Math
@@ -162,13 +162,25 @@ export LDFLAGS+="-Wl,-z,noexecstack"
 %endif
 
 cd ..
+
+# Just to avoid duplication, global flags are passed with COMMON_OPT
+export CFLAGS=""
+export CXXFLAGS=""
+export FFLAGS=""
+
+BUILD_FLAGS="%{optflags}"
+%ifarch x86_64
+# On GCC9, the "-fno-omit-frame-pointer" option results in the segfault in case of x86_64.
+BUILD_FLAGS=$(echo $BUILD_FLAGS| sed 's/-fno-omit-frame-pointer/-fomit-frame-pointer/g')
+%endif
+
 # Make serial, threaded and OpenMP versions
 make -C serial %{?_smp_mflags} %{?openblas_target} USE_THREAD=0 USE_OPENMP=0 LIBNAMESUFFIX=serial \
-        FC=gfortran CC=gcc COMMON_OPT="%{optflags}" NUM_THREADS=64 V=1
+        FC=gfortran CC=gcc COMMON_OPT="${BUILD_FLAGS}" NUM_THREADS=64 V=1
 make -C openmp %{?_smp_mflags} %{?openblas_target} USE_THREAD=1 USE_OPENMP=1 LIBNAMESUFFIX=openmp \
-        FC=gfortran CC=gcc COMMON_OPT="%{optflags}" NUM_THREADS=64 V=1
+        FC=gfortran CC=gcc COMMON_OPT="${BUILD_FLAGS}" NUM_THREADS=64 V=1
 make -C pthreads %{?_smp_mflags} %{?openblas_target} USE_THREAD=1 USE_OPENMP=0 LIBNAMESUFFIX=pthreads \
-        FC=gfortran CC=gcc COMMON_OPT="%{optflags}" NUM_THREADS=64 V=1
+        FC=gfortran CC=gcc COMMON_OPT="${BUILD_FLAGS}" NUM_THREADS=64 V=1
 
 %install
 cd ..