Merge remote-tracking branch 'up/master' into master-riscv64

Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
This commit is contained in:
David Abdurachmanov 2020-05-04 08:16:07 +03:00
commit 4d546acf92
Signed by: davidlt
GPG Key ID: 8B7F1DA0E2C9FDBB
6 changed files with 279 additions and 119 deletions

6
.gitignore vendored
View File

@ -13,3 +13,9 @@
/v0.2.18.tar.gz /v0.2.18.tar.gz
/v0.2.19.tar.gz /v0.2.19.tar.gz
/v0.3.0.tar.gz /v0.3.0.tar.gz
/v0.3.1.tar.gz
/openblas-0.3.2.tar.gz
/openblas-0.3.6.tar.gz
/openblas-0.3.7.tar.gz
/openblas-0.3.8.tar.gz
/openblas-0.3.9.tar.gz

View File

@ -1,23 +0,0 @@
From 961d25e9c7e4a1758adb1dbeaa15187de69dd052 Mon Sep 17 00:00:00 2001
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Wed, 23 May 2018 22:54:39 +0200
Subject: [PATCH] Use the new zrot.c on POWER8 for crot as well
fixes #1571 (the old zrot.S assembly does not handle incx=0 correctly)
---
kernel/power/KERNEL.POWER8 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/power/KERNEL.POWER8 b/kernel/power/KERNEL.POWER8
index 00ff8682a..1aa061078 100644
--- a/kernel/power/KERNEL.POWER8
+++ b/kernel/power/KERNEL.POWER8
@@ -133,7 +133,7 @@ ZNRM2KERNEL = ../arm/znrm2.c
#
SROTKERNEL = srot.c
DROTKERNEL = drot.c
-#CROTKERNEL = ../arm/zrot.c
+CROTKERNEL = zrot.c
ZROTKERNEL = zrot.c
#
SSCALKERNEL = sscal.c

View File

@ -0,0 +1,73 @@
From ee2e758278b5d82b7242f505ea694f082ef65879 Mon Sep 17 00:00:00 2001
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Fri, 13 Mar 2020 20:34:13 +0100
Subject: [PATCH] Move declarations of lapack_complex_custom types outside the
extern C
fixes #2510
---
lapack-netlib/LAPACKE/include/lapack.h | 44 ++++++++++++++------------
1 file changed, 23 insertions(+), 21 deletions(-)
diff --git a/lapack-netlib/LAPACKE/include/lapack.h b/lapack-netlib/LAPACKE/include/lapack.h
index 0a6226fe4..36e53ec24 100644
--- a/lapack-netlib/LAPACKE/include/lapack.h
+++ b/lapack-netlib/LAPACKE/include/lapack.h
@@ -12,27 +12,6 @@
#include <stdlib.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*----------------------------------------------------------------------------*/
-#ifndef lapack_int
-#define lapack_int int
-#endif
-
-#ifndef lapack_logical
-#define lapack_logical lapack_int
-#endif
-
-/* f2c, hence clapack and MacOS Accelerate, returns double instead of float
- * for sdot, slange, clange, etc. */
-#if defined(LAPACK_F2C)
- typedef double lapack_float_return;
-#else
- typedef float lapack_float_return;
-#endif
-
/* Complex types are structures equivalent to the
* Fortran complex types COMPLEX(4) and COMPLEX(8).
*
@@ -88,6 +67,29 @@ extern "C" {
#endif /* LAPACK_COMPLEX_CUSTOM */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*----------------------------------------------------------------------------*/
+#ifndef lapack_int
+#define lapack_int int
+#endif
+
+#ifndef lapack_logical
+#define lapack_logical lapack_int
+#endif
+
+/* f2c, hence clapack and MacOS Accelerate, returns double instead of float
+ * for sdot, slange, clange, etc. */
+#if defined(LAPACK_F2C)
+ typedef double lapack_float_return;
+#else
+ typedef float lapack_float_return;
+#endif
+
+
/* Callback logical functions of one, two, or three arguments are used
* to select eigenvalues to sort to the top left of the Schur form.
* The value is selected if function returns TRUE (non-zero). */

View File

@ -0,0 +1,42 @@
diff -up OpenBLAS-0.3.7/Makefile.tests OpenBLAS-0.3.7/Makefile
--- OpenBLAS-0.3.7/Makefile.tests 2019-08-11 23:23:27.000000000 +0200
+++ OpenBLAS-0.3.7/Makefile 2019-08-12 11:32:09.937281485 +0200
@@ -123,13 +123,13 @@ tests :
ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
touch $(LIBNAME)
ifndef NO_FBLAS
- $(MAKE) -C test all
+ $(MAKE) -C test FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all
endif
- $(MAKE) -C utest all
+ $(MAKE) -C utest FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all
ifndef NO_CBLAS
- $(MAKE) -C ctest all
+ $(MAKE) -C ctest FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all
ifeq ($(CPP_THREAD_SAFETY_TEST), 1)
- $(MAKE) -C cpp_thread_test all
+ $(MAKE) -C cpp_thread_test FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all
endif
endif
endif
diff -up OpenBLAS-0.3.7/cpp_thread_test/Makefile.tests OpenBLAS-0.3.7/cpp_thread_test/Makefile
--- OpenBLAS-0.3.7/cpp_thread_test/Makefile.tests 2019-08-11 19:23:00.000000000 +0000
+++ OpenBLAS-0.3.7/cpp_thread_test/Makefile 2019-12-12 11:05:51.426334062 +0000
@@ -1,13 +1,14 @@
-include ../Makefile.rule
+TOPDIR = ..
+include $(TOPDIR)/Makefile.system
all :: dgemv_tester dgemm_tester
dgemv_tester :
- $(CXX) $(COMMON_OPT) -Wall -Wextra -Wshadow -fopenmp -std=c++11 dgemv_thread_safety.cpp ../libopenblas.a -lpthread -o dgemv_tester
+ $(CXX) $(COMMON_OPT) -Wall -Wextra -Wshadow -fopenmp -std=c++11 dgemv_thread_safety.cpp ../$(LIBNAME) -lpthread -o dgemv_tester
./dgemv_tester
dgemm_tester : dgemv_tester
- $(CXX) $(COMMON_OPT) -Wall -Wextra -Wshadow -fopenmp -std=c++11 dgemm_thread_safety.cpp ../libopenblas.a -lpthread -o dgemm_tester
+ $(CXX) $(COMMON_OPT) -Wall -Wextra -Wshadow -fopenmp -std=c++11 dgemm_thread_safety.cpp ../$(LIBNAME) -lpthread -o dgemm_tester
./dgemm_tester
clean ::

View File

@ -1,6 +1,6 @@
%bcond_with system_lapack %bcond_with system_lapack
# Version of bundled lapack # Version of bundled lapack
%global lapackver 3.8.0 %global lapackver 3.9.0
# DO NOT "CLEAN UP" OR MODIFY THIS SPEC FILE WITHOUT ASKING THE # DO NOT "CLEAN UP" OR MODIFY THIS SPEC FILE WITHOUT ASKING THE
# MAINTAINER FIRST! # MAINTAINER FIRST!
@ -14,13 +14,12 @@
# "obsoleted" features are still kept in the spec. # "obsoleted" features are still kept in the spec.
Name: openblas Name: openblas
Version: 0.3.0 Version: 0.3.9
Release: 1.2.riscv64%{?dist} Release: 2.0.riscv64%{?dist}
Summary: An optimized BLAS library based on GotoBLAS2 Summary: An optimized BLAS library based on GotoBLAS2
Group: Development/Libraries
License: BSD License: BSD
URL: https://github.com/xianyi/OpenBLAS/ URL: https://github.com/xianyi/OpenBLAS/
Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}.tar.gz Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}/openblas-%{version}.tar.gz
# Use system lapack # Use system lapack
Patch0: openblas-0.2.15-system_lapack.patch Patch0: openblas-0.2.15-system_lapack.patch
# Drop extra p from threaded library name # Drop extra p from threaded library name
@ -28,19 +27,16 @@ Patch1: openblas-0.2.5-libname.patch
# Don't use constructor priorities on too old architectures # Don't use constructor priorities on too old architectures
Patch2: openblas-0.2.15-constructor.patch Patch2: openblas-0.2.15-constructor.patch
# Supply the proper flags to the test makefile # Supply the proper flags to the test makefile
Patch3: openblas-0.2.19-tests.patch Patch3: openblas-0.3.7-tests.patch
# Upstream pull 1572, fixes fail on ppc64le
Patch4: 1572.patch # Fix C++ compatibility (BZ #1820131)
# Add support for RISC-V (riscv64) Patch4: https://github.com/xianyi/OpenBLAS/commit/ee2e758278b5d82b7242f505ea694f082ef65879.patch
# Taken from https://github.com/xianyi/OpenBLAS/pull/1526
# No additional modifications done
Patch5: openblas-0.3.0-riscv64.patch
# Disable running of tests
Patch6: openblas-0.3.0-disable-tests.patch
BuildRequires: gcc BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: gcc-gfortran BuildRequires: gcc-gfortran
BuildRequires: perl-devel BuildRequires: perl-devel
BuildRequires: multilib-rpm-config
# Do we have execstack? # Do we have execstack?
%if 0%{?rhel} == 7 %if 0%{?rhel} == 7
@ -83,8 +79,10 @@ Provides: bundled(lapack) = %{lapackver}
# Build 64-bit interface binaries? # Build 64-bit interface binaries?
%if 0%{?__isa_bits} == 64 %if 0%{?__isa_bits} == 64
%global build64 1 %global build64 1
%bcond_without cpp_thread_check
%else %else
%global build64 0 %global build64 0
%bcond_with cpp_thread_check
%endif %endif
%if %{with system_lapack} %if %{with system_lapack}
@ -107,97 +105,108 @@ Computational Science, ISCAS. http://www.rdcps.ac.cn
%{base_description} %{base_description}
%package Rblas %package Rblas
Summary: A version of OpenBLAS for R to use as libRblas Summary: A version of OpenBLAS for R to use as libRblas
Group: Development/Libraries
%description Rblas %description Rblas
%{base_description} %{base_description}
%package serial
Summary: An optimized BLAS library based on GotoBLAS2, serial version
Requires: %{name} = %{version}-%{release}
%description serial
%{base_description}
This package contains the sequential library compiled with a 32-bit
integer interface.
%package openmp %package openmp
Summary: An optimized BLAS library based on GotoBLAS2, OpenMP version Summary: An optimized BLAS library based on GotoBLAS2, OpenMP version
Group: Development/Libraries Requires: %{name} = %{version}-%{release}
%description openmp %description openmp
%{base_description} %{base_description}
This package contains the library compiled with OpenMP support. This package contains the library compiled with OpenMP support with
32-bit integer interface.
%package threads %package threads
Summary: An optimized BLAS library based on GotoBLAS2, pthreads version Summary: An optimized BLAS library based on GotoBLAS2, pthreads version
Group: Development/Libraries Requires: %{name} = %{version}-%{release}
%description threads %description threads
%{base_description} %{base_description}
This package contains the library compiled with threading support. This package contains the library compiled with threading support and
a 32-bit integer interface.
%if %build64 %if %build64
%package serial64 %package serial64
Summary: An optimized BLAS library based on GotoBLAS2, serial version Summary: An optimized BLAS library based on GotoBLAS2, serial version
Group: Development/Libraries Requires: %{name} = %{version}-%{release}
%description serial64 %description serial64
%{base_description} %{base_description}
This package contains the sequential library compiled with a 64-bit This package contains the sequential library compiled with a 64-bit
interface. integer interface.
%package openmp64 %package openmp64
Summary: An optimized BLAS library based on GotoBLAS2, OpenMP version Summary: An optimized BLAS library based on GotoBLAS2, OpenMP version
Group: Development/Libraries Requires: %{name} = %{version}-%{release}
%description openmp64 %description openmp64
%{base_description} %{base_description}
This package contains the library compiled with OpenMP support and This package contains the library compiled with OpenMP support and
64-bit interface. 64-bit integer interface.
%package threads64 %package threads64
Summary: An optimized BLAS library based on GotoBLAS2, pthreads version Summary: An optimized BLAS library based on GotoBLAS2, pthreads version
Group: Development/Libraries Requires: %{name} = %{version}-%{release}
%description threads64 %description threads64
%{base_description} %{base_description}
This package contains the library compiled with threading support and This package contains the library compiled with threading support and
64-bit interface. 64-bit integer interface.
%package serial64_ %package serial64_
Summary: An optimized BLAS library based on GotoBLAS2, serial version Summary: An optimized BLAS library based on GotoBLAS2, serial version
Group: Development/Libraries Requires: %{name} = %{version}-%{release}
%description serial64_ %description serial64_
%{base_description} %{base_description}
This package contains the sequential library compiled with a 64-bit This package contains the sequential library compiled with a 64-bit
interface and a symbol name suffix. integer interface and a symbol name suffix.
%package openmp64_ %package openmp64_
Summary: An optimized BLAS library based on GotoBLAS2, OpenMP version Summary: An optimized BLAS library based on GotoBLAS2, OpenMP version
Group: Development/Libraries Requires: %{name} = %{version}-%{release}
%description openmp64_ %description openmp64_
%{base_description} %{base_description}
This package contains the library compiled with OpenMP support and This package contains the library compiled with OpenMP support and
64-bit interface and a symbol name suffix. 64-bit integer interface and a symbol name suffix.
%package threads64_ %package threads64_
Summary: An optimized BLAS library based on GotoBLAS2, pthreads version Summary: An optimized BLAS library based on GotoBLAS2, pthreads version
Group: Development/Libraries Requires: %{name} = %{version}-%{release}
%description threads64_ %description threads64_
%{base_description} %{base_description}
This package contains the library compiled with threading support and This package contains the library compiled with threading support and
64-bit interface and a symbol name suffix. 64-bit integer interface and a symbol name suffix.
%endif %endif
%package devel %package devel
Summary: Development headers and libraries for OpenBLAS Summary: Development headers and libraries for OpenBLAS
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-serial%{?_isa} = %{version}-%{release}
Requires: %{name}-openmp%{?_isa} = %{version}-%{release} Requires: %{name}-openmp%{?_isa} = %{version}-%{release}
Requires: %{name}-threads%{?_isa} = %{version}-%{release} Requires: %{name}-threads%{?_isa} = %{version}-%{release}
%if %build64 %if %build64
@ -217,7 +226,6 @@ This package contains the development headers and libraries.
%package static %package static
Summary: Static version of OpenBLAS Summary: Static version of OpenBLAS
Group: Development/Libraries
Requires: %{name}-devel%{?_isa} = %{version}-%{release} Requires: %{name}-devel%{?_isa} = %{version}-%{release}
%description static %description static
@ -240,11 +248,7 @@ cd OpenBLAS-%{version}
%patch2 -p1 -b .constructor %patch2 -p1 -b .constructor
%endif %endif
%patch3 -p1 -b .tests %patch3 -p1 -b .tests
%patch4 -p1 -b .ppc64le %patch4 -p1 -b .cplusplus
%patch5 -p2 -b .riscv64
%ifarch riscv64
%patch6 -p2 -b .disable-tests
%endif
# Fix source permissions # Fix source permissions
find -name \*.f -exec chmod 644 {} \; find -name \*.f -exec chmod 644 {} \;
@ -356,7 +360,7 @@ LAPACKE="NO_LAPACKE=1"
NMAX="NUM_THREADS=128" NMAX="NUM_THREADS=128"
%ifarch %{ix86} x86_64 %ifarch %{ix86} x86_64
TARGET="TARGET=CORE2 DYNAMIC_ARCH=1" TARGET="TARGET=CORE2 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
# Compability for old versions of GCC # Compability for old versions of GCC
%if 0%{?rhel} == 5 %if 0%{?rhel} == 5
@ -368,19 +372,23 @@ export AVX="NO_AVX2=1"
%endif %endif
%ifarch armv7hl %ifarch armv7hl
# ARM v7 still doesn't have runtime cpu detection...
TARGET="TARGET=ARMV7 DYNAMIC_ARCH=0" TARGET="TARGET=ARMV7 DYNAMIC_ARCH=0"
%endif %endif
%ifarch ppc64 %ifarch ppc64
TARGET="TARGET=POWER6 DYNAMIC_ARCH=0" TARGET="TARGET=POWER6 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
%endif %endif
%ifarch ppc64p7 %ifarch ppc64p7
TARGET="TARGET=POWER7 DYNAMIC_ARCH=0" TARGET="TARGET=POWER7 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
%endif %endif
%ifarch ppc64le %ifarch ppc64le
TARGET="TARGET=POWER8 DYNAMIC_ARCH=0" TARGET="TARGET=POWER8 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
%endif %endif
%ifarch aarch64 %ifarch aarch64
TARGET="TARGET=ARMV8 DYNAMIC_ARCH=0" TARGET="TARGET=ARMV8 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
%endif
%ifarch s390x
TARGET="TARGET=ZARCH_GENERIC DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
%endif %endif
%ifarch riscv64 %ifarch riscv64
TARGET="TARGET=RISCV64 DYNAMIC_ARCH=0" TARGET="TARGET=RISCV64 DYNAMIC_ARCH=0"
@ -391,12 +399,13 @@ TARGET="TARGET=RISCV64 DYNAMIC_ARCH=0"
COMMON="%{optflags} -fPIC" COMMON="%{optflags} -fPIC"
FCOMMON="%{optflags} -fPIC" FCOMMON="%{optflags} -fPIC"
%else %else
COMMON="%{optflags} -fPIC"
FCOMMON="%{optflags} -fPIC -frecursive" FCOMMON="%{optflags} -fPIC -frecursive"
%endif %endif
# Use Fedora linker flags # Use Fedora linker flags
export LDFLAGS="%{__global_ldflags}" export LDFLAGS="%{__global_ldflags}"
make -C Rblas $TARGET USE_THREAD=0 USEOPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libRblas" LIBSONAME="libRblas.so" $AVX $LAPACKE INTERFACE64=0 make -C Rblas $TARGET USE_THREAD=0 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libRblas" LIBSONAME="libRblas.so" $AVX $LAPACKE INTERFACE64=0
# Declare some necessary build flags # Declare some necessary build flags
COMMON="%{optflags} -fPIC" COMMON="%{optflags} -fPIC"
@ -407,7 +416,7 @@ make -C threaded $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_O
# USE_THREAD determines use of SMP, not of pthreads # USE_THREAD determines use of SMP, not of pthreads
COMMON="%{optflags} -fPIC -fopenmp -pthread" COMMON="%{optflags} -fPIC -fopenmp -pthread"
FCOMMON="$COMMON -frecursive" FCOMMON="$COMMON -frecursive"
make -C openmp $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso" $AVX $LAPACKE INTERFACE64=0 make -C openmp $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso" $AVX $LAPACKE INTERFACE64=0 %{with cpp_thread_check:CPP_THREAD_SAFETY_TEST=1}
%if %build64 %if %build64
COMMON="%{optflags} -fPIC" COMMON="%{optflags} -fPIC"
@ -417,7 +426,7 @@ make -C threaded64 $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_O
COMMON="%{optflags} -fPIC -fopenmp -pthread" COMMON="%{optflags} -fPIC -fopenmp -pthread"
FCOMMON="$COMMON -frecursive -fdefault-integer-8" FCOMMON="$COMMON -frecursive -fdefault-integer-8"
make -C openmp64 $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso64" $AVX $LAPACKE INTERFACE64=1 make -C openmp64 $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso64" $AVX $LAPACKE INTERFACE64=1 CPP_THREAD_SAFETY_TEST=1
COMMON="%{optflags} -fPIC" COMMON="%{optflags} -fPIC"
FCOMMON="$COMMON -frecursive -fdefault-integer-8" FCOMMON="$COMMON -frecursive -fdefault-integer-8"
@ -426,7 +435,7 @@ make -C threaded64_ $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_
COMMON="%{optflags} -fPIC -fopenmp -pthread" COMMON="%{optflags} -fPIC -fopenmp -pthread"
FCOMMON="$COMMON -frecursive -fdefault-integer-8" FCOMMON="$COMMON -frecursive -fdefault-integer-8"
make -C openmp64_ $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_ make -C openmp64_ $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_ CPP_THREAD_SAFETY_TEST=1
%endif %endif
%install %install
@ -439,28 +448,15 @@ make -C serial USE_THREAD=0 PREFIX=%{buildroot} OPENBLAS_LIBRARY_DIR=%{buildroot
cp -a %{_includedir}/lapacke %{buildroot}%{_includedir}/%{name} cp -a %{_includedir}/lapacke %{buildroot}%{_includedir}/%{name}
%endif %endif
# Fix name of libraries # Fix i686-x86_64 multilib difference
%multilib_fix_c_header --file %{_includedir}/openblas/openblas_config.h
# Fix name of libraries: runtime CPU detection has none
suffix=""
# but archs that don't have it do have one
%ifarch armv7hl %ifarch armv7hl
suffix="_armv7" suffix="_armv7"
%endif %endif
%ifarch ppc64
suffix="_power6"
%endif
%ifarch ppc64p7
suffix="_power7"
%endif
%ifarch ppc64le
suffix="_power8"
%endif
%ifarch aarch64
suffix="_armv8"
%endif
%ifarch s390x
suffix="_zarch_generic"
%endif
%ifarch riscv64
suffix="_riscv64"
%endif
slibname=`basename %{buildroot}%{_libdir}/libopenblas${suffix}-*.so .so` slibname=`basename %{buildroot}%{_libdir}/libopenblas${suffix}-*.so .so`
mv %{buildroot}%{_libdir}/${slibname}.a %{buildroot}%{_libdir}/lib%{name}.a mv %{buildroot}%{_libdir}/${slibname}.a %{buildroot}%{_libdir}/lib%{name}.a
if [[ "$suffix" != "" ]]; then if [[ "$suffix" != "" ]]; then
@ -577,6 +573,9 @@ ln -sf ${pname64_}.so lib%{name}p64_.so.0
for lib in %{buildroot}%{_libdir}/libopenblas*.so; do for lib in %{buildroot}%{_libdir}/libopenblas*.so; do
execstack -c $lib execstack -c $lib
done done
for lib in %{buildroot}%{_libdir}/R/lib/libRblas*.so; do
execstack -c $lib
done
%endif %endif
# Get rid of generated CMake config # Get rid of generated CMake config
@ -584,37 +583,30 @@ rm -rf %{buildroot}%{_libdir}/cmake
# Get rid of generated pkgconfig # Get rid of generated pkgconfig
rm -rf %{buildroot}%{_libdir}/pkgconfig rm -rf %{buildroot}%{_libdir}/pkgconfig
%post -p /sbin/ldconfig %ldconfig_scriptlets
%postun -p /sbin/ldconfig
%post openmp -p /sbin/ldconfig %ldconfig_scriptlets openmp
%postun openmp -p /sbin/ldconfig
%post Rblas -p /sbin/ldconfig %ldconfig_scriptlets Rblas
%postun Rblas -p /sbin/ldconfig
%post threads -p /sbin/ldconfig %ldconfig_scriptlets threads
%postun threads -p /sbin/ldconfig
%if %build64 %if %build64
%post openmp64 -p /sbin/ldconfig %ldconfig_scriptlets openmp64
%postun openmp64 -p /sbin/ldconfig %ldconfig_scriptlets openmp64_
%post openmp64_ -p /sbin/ldconfig
%postun openmp64_ -p /sbin/ldconfig
%post serial64 -p /sbin/ldconfig %ldconfig_scriptlets serial64
%postun serial64 -p /sbin/ldconfig %ldconfig_scriptlets serial64_
%post serial64_ -p /sbin/ldconfig
%postun serial64_ -p /sbin/ldconfig
%post threads64 -p /sbin/ldconfig %ldconfig_scriptlets threads64
%postun threads64 -p /sbin/ldconfig %ldconfig_scriptlets threads64_
%post threads64_ -p /sbin/ldconfig
%postun threads64_ -p /sbin/ldconfig
%endif %endif
%files %files
%doc serial/Changelog.txt serial/GotoBLAS* serial/LICENSE %license serial/LICENSE
%doc serial/Changelog.txt serial/GotoBLAS*
%files serial
%{_libdir}/lib%{name}-*.so %{_libdir}/lib%{name}-*.so
%{_libdir}/lib%{name}.so.* %{_libdir}/lib%{name}.so.*
@ -683,15 +675,85 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig
%endif %endif
%changelog %changelog
* Mon Jun 04 2018 David Abdurachmanov <david.abdurachmanov@gmail.com> - 0.3.0-1.2.riscv64 * Thu Apr 02 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.9-2
- Disable execstack for RISC-V (riscv64) - Patch for BZ #1820131.
* Mon Jun 04 2018 David Abdurachmanov <david.abdurachmanov@gmail.com> - 0.3.0-1.1.riscv64 * Mon Mar 02 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.9-1
- Fix typo in RISC-V patch name - Update to 0.3.9.
- Disable running of all tests on RISC-V
* Sun Jun 03 2018 David Abdurachmanov <david.abdurachmanov@gmail.com> - 0.3.0-1.0.riscv64 * Tue Feb 11 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.8-1
- Add support for RISC-V (riscv64) - Update to 0.3.8; dynamic runtime cpu detection on all architectures.
- Also updates bundled LAPACK to 3.9.0.
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Dec 11 2019 Dominik Mierzejewski <rpm@greysector.net> - 0.3.7-2
- enable C++ thread safety test where possible
* Mon Aug 12 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.7-1
- Update to 0.3.7.
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Jul 02 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.6-2
- Rebuild since older build doesn't show up in updates system.
* Tue Apr 30 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.6-1
- Update to 0.3.6.
* Tue Feb 26 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.5-5
- Even more assembly kernel patches.
* Mon Feb 25 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.5-4
- Another assembly kernel patch.
* Sun Feb 17 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.5-3
- Patch assembly kernels to satisfy gcc 9 demands.
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 07 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.5-1
- Update to 0.3.5, with dynamic CPU detection on aarch64.
* Fri Nov 09 2018 Nikola Forró <nforro@redhat.com> - 0.3.3-3
- Fix i686-x86_64 multilib difference.
- Get rid of executable stack in libRblas.so.
* Sat Sep 29 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.3-2
- Fix segfault (BZ #1634060).
* Sun Sep 09 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.3-1
- Update to 0.3.3.
* Wed Aug 29 2018 Dan Horák <dan[at]danny.cz> - 0.3.2-5
- Fix precision in generic target on s390x
* Fri Aug 24 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.2-4
- Patch to avoid threading issues.
* Fri Aug 24 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.2-3
- Add missing %%{optflags} to COMMON (see discussion in #1619074).
* Wed Aug 15 2018 Dan Horák <dan[at]danny.cz> - 0.3.2-2
- Explicitly set the target to generic on s390x to avoid surprises (#1615760)
* Thu Aug 02 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.2-1
- Update to 0.3.2.
* Sun Jul 22 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.1-3
- Fix crash with multiple instances (BZ #1605231).
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sun Jul 01 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.1-1
- Update to 0.3.1.
* Mon Jun 11 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.0-2
- Split sequential libraries from core package to openblas-serial.
* Thu May 24 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.0-1 * Thu May 24 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.0-1
- Update to 0.3.0. - Update to 0.3.0.

View File

@ -1 +1 @@
SHA512 (v0.3.0.tar.gz) = 6a982d2adc13febc162d5c0077cedc116c771409ee1dbb651da6a073e5f6a439e1d0eba0349b3b2e506b274d3014adbf48fc96625ed942a61a54a0c936576b89 SHA512 (openblas-0.3.9.tar.gz) = e34da25b3aaf959ec12826ac68c81e739e453d44f2dba28b15e57d7a827edc4d5f42988e9b6d98ac07999940be7b5876246cb3a980e590ae87f77f4c2f12f40a