Compare commits
No commits in common. "imports/c9/openblas-0.3.21-2.el9" and "c8" have entirely different histories.
imports/c9
...
c8
.gitignore.openblas.metadata
SOURCES
openblas-0.2.15-constructor.patchopenblas-0.3.15-asmflags.patchopenblas-0.3.15-libname.patchopenblas-0.3.15-noopt.patchopenblas-0.3.15-power-optimize.patchopenblas-0.3.15-system-lapack.patchopenblas-0.3.15-tests.patchopenblas-0.3.21-sbgemm-test.patchopenblas-CVE-2021-4048.patch
SPECS
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
SOURCES/openblas-0.3.21.tar.gz
|
||||
SOURCES/v0.3.15.tar.gz
|
||||
|
@ -1 +1 @@
|
||||
b052d196ad694b29302e074b3eb8cc66745f6e2f SOURCES/openblas-0.3.21.tar.gz
|
||||
d7d1f67c1ef0c14c93761bdf44f0da8d0dd4bc0f SOURCES/v0.3.15.tar.gz
|
||||
|
@ -1,19 +0,0 @@
|
||||
diff -up OpenBLAS-0.2.15/driver/others/memory.c.priority OpenBLAS-0.2.15/driver/others/memory.c
|
||||
--- OpenBLAS-0.2.15/driver/others/memory.c.priority 2015-10-27 21:44:50.000000000 +0100
|
||||
+++ OpenBLAS-0.2.15/driver/others/memory.c 2016-01-13 21:12:01.862225898 +0100
|
||||
@@ -146,8 +146,15 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
#define CONSTRUCTOR __attribute__ ((constructor))
|
||||
#define DESTRUCTOR __attribute__ ((destructor))
|
||||
#else
|
||||
+#if __GNUC__ && INIT_PRIORITY && ((GCC_VERSION >= 40300) || (CLANG_VERSION >= 20900))
|
||||
#define CONSTRUCTOR __attribute__ ((constructor(101)))
|
||||
#define DESTRUCTOR __attribute__ ((destructor(101)))
|
||||
+#elif __GNUC__ && INIT_PRIORITY
|
||||
+#define CONSTRUCTOR __attribute__ ((constructor))
|
||||
+#define DESTRUCTOR __attribute__ ((destructor))
|
||||
+#else
|
||||
+#define CONSTRUCTOR
|
||||
+#define DESTRUCTOR
|
||||
#endif
|
||||
|
||||
#ifdef DYNAMIC_ARCH
|
6964
SOURCES/openblas-0.3.15-asmflags.patch
Normal file
6964
SOURCES/openblas-0.3.15-asmflags.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,8 @@
|
||||
diff -up OpenBLAS-0.2.5/Makefile.system.orig OpenBLAS-0.2.5/Makefile.system
|
||||
--- OpenBLAS-0.2.5/Makefile.system.orig 2012-11-27 01:24:53.000000000 +0200
|
||||
+++ OpenBLAS-0.2.5/Makefile.system 2012-12-24 16:13:57.316689688 +0200
|
||||
@@ -758,16 +758,16 @@ ifndef SMP
|
||||
diff --git a/Makefile.system b/Makefile.system
|
||||
index ae703e4d..80739dc4 100644
|
||||
--- a/Makefile.system
|
||||
+++ b/Makefile.system
|
||||
@@ -1515,16 +1515,16 @@ ifndef SMP
|
||||
LIBNAME = $(LIBPREFIX)_$(LIBCORE)$(REVISION).$(LIBSUFFIX)
|
||||
LIBNAME_P = $(LIBPREFIX)_$(LIBCORE)$(REVISION)_p.$(LIBSUFFIX)
|
||||
else
|
47
SOURCES/openblas-0.3.15-noopt.patch
Normal file
47
SOURCES/openblas-0.3.15-noopt.patch
Normal file
@ -0,0 +1,47 @@
|
||||
diff --git a/lapack-netlib/INSTALL/Makefile b/lapack-netlib/INSTALL/Makefile
|
||||
index 1007c1bc..348b8d60 100644
|
||||
--- a/lapack-netlib/INSTALL/Makefile
|
||||
+++ b/lapack-netlib/INSTALL/Makefile
|
||||
@@ -46,5 +46,5 @@ cleanexe:
|
||||
cleantest:
|
||||
rm -f core
|
||||
|
||||
-slamch.o: slamch.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
|
||||
-dlamch.o: dlamch.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
|
||||
+slamch.o: slamch.f ; $(FC) $(FFLAGS) -c -o $@ $<
|
||||
+dlamch.o: dlamch.f ; $(FC) $(FFLAGS) -c -o $@ $<
|
||||
diff --git a/lapack-netlib/SRC/Makefile b/lapack-netlib/SRC/Makefile
|
||||
index 83baac87..bc42e82d 100644
|
||||
--- a/lapack-netlib/SRC/Makefile
|
||||
+++ b/lapack-netlib/SRC/Makefile
|
||||
@@ -643,9 +643,9 @@ cleanobj:
|
||||
cleanlib:
|
||||
rm -f $(LAPACKLIB)
|
||||
|
||||
-slaruv.o: slaruv.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
|
||||
-dlaruv.o: dlaruv.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
|
||||
-sla_wwaddw.o: sla_wwaddw.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
|
||||
-dla_wwaddw.o: dla_wwaddw.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
|
||||
-cla_wwaddw.o: cla_wwaddw.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
|
||||
-zla_wwaddw.o: zla_wwaddw.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
|
||||
+slaruv.o: slaruv.f ; $(FC) $(FFLAGS) -c -o $@ $<
|
||||
+dlaruv.o: dlaruv.f ; $(FC) $(FFLAGS) -c -o $@ $<
|
||||
+sla_wwaddw.o: sla_wwaddw.f ; $(FC) $(FFLAGS) -c -o $@ $<
|
||||
+dla_wwaddw.o: dla_wwaddw.f ; $(FC) $(FFLAGS) -c -o $@ $<
|
||||
+cla_wwaddw.o: cla_wwaddw.f ; $(FC) $(FFLAGS) -c -o $@ $<
|
||||
+zla_wwaddw.o: zla_wwaddw.f ; $(FC) $(FFLAGS) -c -o $@ $<
|
||||
diff --git a/lapack-netlib/TESTING/MATGEN/Makefile b/lapack-netlib/TESTING/MATGEN/Makefile
|
||||
index e21ebd6c..8582e944 100644
|
||||
--- a/lapack-netlib/TESTING/MATGEN/Makefile
|
||||
+++ b/lapack-netlib/TESTING/MATGEN/Makefile
|
||||
@@ -110,8 +110,8 @@ cleanlib:
|
||||
rm -f $(TMGLIB)
|
||||
|
||||
ifeq ($(filter $(BUILD_SINGLE) $(BUILD_COMPLEX),1),)
|
||||
-slaran.o: slaran.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
|
||||
+slaran.o: slaran.f ; $(FC) $(FFLAGS) -c -o $@ $<
|
||||
endif
|
||||
ifeq ($(filter $(BUILD_DOUBLE) $(BUILD_COMPLEX16),1),)
|
||||
-dlaran.o: dlaran.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
|
||||
+dlaran.o: dlaran.f ; $(FC) $(FFLAGS) -c -o $@ $<
|
||||
endif
|
39
SOURCES/openblas-0.3.15-power-optimize.patch
Normal file
39
SOURCES/openblas-0.3.15-power-optimize.patch
Normal file
@ -0,0 +1,39 @@
|
||||
diff --git a/kernel/power/drot.c b/kernel/power/drot.c
|
||||
index 3229878e..a25ccceb 100644
|
||||
--- a/kernel/power/drot.c
|
||||
+++ b/kernel/power/drot.c
|
||||
@@ -37,8 +37,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
#include "common.h"
|
||||
|
||||
-#pragma GCC optimize "O1"
|
||||
-
|
||||
#if defined(__VEC__) || defined(__ALTIVEC__)
|
||||
#if defined(POWER8) || defined(POWER9)
|
||||
#include "drot_microk_power8.c"
|
||||
diff --git a/kernel/power/srot.c b/kernel/power/srot.c
|
||||
index 5a0d4b12..d73fafc9 100644
|
||||
--- a/kernel/power/srot.c
|
||||
+++ b/kernel/power/srot.c
|
||||
@@ -37,8 +37,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
#include "common.h"
|
||||
|
||||
-#pragma GCC optimize "O1"
|
||||
-
|
||||
#if defined(__VEC__) || defined(__ALTIVEC__)
|
||||
#if defined(POWER8) || defined(POWER9)
|
||||
#include "srot_microk_power8.c"
|
||||
diff --git a/kernel/power/zscal.c b/kernel/power/zscal.c
|
||||
index 59ddc149..a5e35001 100644
|
||||
--- a/kernel/power/zscal.c
|
||||
+++ b/kernel/power/zscal.c
|
||||
@@ -36,8 +36,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
#include "common.h"
|
||||
|
||||
-#pragma GCC optimize "O1"
|
||||
-
|
||||
#if defined(__VEC__) || defined(__ALTIVEC__)
|
||||
#if defined(POWER8) || defined(POWER9)
|
||||
#if defined(DOUBLE)
|
@ -1,20 +1,27 @@
|
||||
diff -up OpenBLAS-0.2.15/Makefile.system_lapack OpenBLAS-0.2.15/Makefile
|
||||
--- OpenBLAS-0.2.15/Makefile.system_lapack 2015-10-27 13:44:50.000000000 -0700
|
||||
+++ OpenBLAS-0.2.15/Makefile 2015-10-28 09:14:56.696685503 -0700
|
||||
@@ -16,11 +16,7 @@ BLASDIRS += reference
|
||||
diff --git a/Makefile b/Makefile
|
||||
index e113026..ae8f7de 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -12,9 +12,6 @@ BLASDIRS += reference
|
||||
endif
|
||||
|
||||
SUBDIRS = $(BLASDIRS)
|
||||
-ifneq ($(NO_LAPACK), 1)
|
||||
-SUBDIRS += lapack
|
||||
-endif
|
||||
-
|
||||
|
||||
RELA =
|
||||
ifeq ($(BUILD_RELAPACK), 1)
|
||||
@@ -32,8 +29,6 @@ export NOFORTRAN
|
||||
export NO_LAPACK
|
||||
endif
|
||||
|
||||
-LAPACK_NOOPT := $(filter-out -O0 -O1 -O2 -O3 -Ofast,$(LAPACK_FFLAGS))
|
||||
+SUBDIRS += lapack
|
||||
-
|
||||
SUBDIRS_ALL = $(SUBDIRS) test ctest utest exports benchmark ../laswp ../bench cpp_thread_test
|
||||
|
||||
SUBDIRS_ALL = $(SUBDIRS) test ctest utest exports benchmark ../laswp ../bench
|
||||
|
||||
@@ -211,57 +207,8 @@ hpl_p :
|
||||
.PHONY : all libs netlib $(RELA) test ctest shared install
|
||||
@@ -235,76 +230,8 @@ hpl_p :
|
||||
fi; \
|
||||
done
|
||||
|
||||
@ -23,7 +30,7 @@ diff -up OpenBLAS-0.2.15/Makefile.system_lapack OpenBLAS-0.2.15/Makefile
|
||||
-
|
||||
-else
|
||||
-netlib : lapack_prebuild
|
||||
-ifndef NOFORTRAN
|
||||
-ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
|
||||
- @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapacklib
|
||||
- @$(MAKE) -C $(NETLIB_LAPACK_DIR) tmglib
|
||||
-endif
|
||||
@ -32,34 +39,49 @@ diff -up OpenBLAS-0.2.15/Makefile.system_lapack OpenBLAS-0.2.15/Makefile
|
||||
-endif
|
||||
-endif
|
||||
-
|
||||
-ifeq ($(NO_LAPACK), 1)
|
||||
-re_lapack :
|
||||
-
|
||||
-else
|
||||
-re_lapack :
|
||||
- @$(MAKE) -C relapack
|
||||
-endif
|
||||
-
|
||||
-prof_lapack : lapack_prebuild
|
||||
- @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapack_prof
|
||||
-
|
||||
-lapack_prebuild :
|
||||
-ifndef NOFORTRAN
|
||||
- -@echo "FORTRAN = $(FC)" > $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "OPTS = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
|
||||
- -@echo "FC = $(FC)" > $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "FFLAGS = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "FFLAGS_DRV = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "POPTS = $(LAPACK_FPFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "NOOPT = -O0 $(LAPACK_NOOPT)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "FFLAGS_NOOPT = -O0 $(LAPACK_NOOPT)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "PNOOPT = $(LAPACK_FPFLAGS) -O0" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "LOADOPTS = $(FFLAGS) $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "LDFLAGS = $(FFLAGS) $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "CC = $(CC)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "override CFLAGS = $(LAPACK_CFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "ARCH = $(AR)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "ARCHFLAGS = -ru" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "AR = $(AR)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "ARFLAGS = $(ARFLAGS) -ru" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "RANLIB = $(RANLIB)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "LAPACKLIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "TMGLIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "LAPACKLIB = ../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "TMGLIB = ../../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "BLASLIB = ../../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "LAPACKELIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "LAPACKELIB = ../../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "LAPACKLIB_P = ../$(LIBNAME_P)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "SUFFIX = $(SUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "PSUFFIX = $(PSUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "CEXTRALIB = $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-ifeq ($(FC), gfortran)
|
||||
-ifeq ($(F_COMPILER), GFORTRAN)
|
||||
- -@echo "TIMER = INT_ETIME" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-ifdef SMP
|
||||
-ifeq ($(OSNAME), WINNT)
|
||||
- -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-else ifeq ($(OSNAME), Haiku)
|
||||
- -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-else
|
||||
- -@echo "LOADER = $(FC) -pthread" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-endif
|
||||
-else
|
||||
- -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-endif
|
||||
@ -67,17 +89,22 @@ diff -up OpenBLAS-0.2.15/Makefile.system_lapack OpenBLAS-0.2.15/Makefile
|
||||
- -@echo "TIMER = NONE" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-endif
|
||||
-ifeq ($(BUILD_LAPACK_DEPRECATED), 1)
|
||||
- -@echo "BUILD_DEPRECATED = 1" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-endif
|
||||
- -@echo "LAPACKE_WITH_TMG = 1" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
- -@cat make.inc >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-endif
|
||||
+ @$(MAKE) -C $(NETLIB_LAPACK_DIR)
|
||||
|
||||
large.tgz :
|
||||
ifndef NOFORTRAN
|
||||
diff -up OpenBLAS-0.2.15/Makefile.system.system_lapack OpenBLAS-0.2.15/Makefile.system
|
||||
--- OpenBLAS-0.2.15/Makefile.system.system_lapack 2015-10-27 13:44:50.000000000 -0700
|
||||
+++ OpenBLAS-0.2.15/Makefile.system 2015-10-28 09:14:39.994350500 -0700
|
||||
@@ -9,7 +9,7 @@ ifndef TOPDIR
|
||||
TOPDIR = .
|
||||
ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
|
||||
diff --git a/Makefile.system b/Makefile.system
|
||||
index 8d78b42..47d8eec 100644
|
||||
--- a/Makefile.system
|
||||
+++ b/Makefile.system
|
||||
@@ -31,7 +31,7 @@ else ifeq ($(ARCH), zarch)
|
||||
override ARCH=zarch
|
||||
endif
|
||||
|
||||
-NETLIB_LAPACK_DIR = $(TOPDIR)/lapack-netlib
|
@ -1,26 +1,22 @@
|
||||
diff -up OpenBLAS-0.3.21/Makefile.fixtests OpenBLAS-0.3.21/Makefile
|
||||
--- OpenBLAS-0.3.21/Makefile.fixtests 2022-08-26 07:37:06.257272957 +0200
|
||||
+++ OpenBLAS-0.3.21/Makefile 2022-08-26 07:37:53.168414307 +0200
|
||||
@@ -147,18 +147,18 @@ tests :
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 555d1c46..7dc74273 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -144,13 +144,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
|
||||
endif
|
||||
ifneq ($(ONLY_CBLAS), 1)
|
||||
- $(MAKE) -C utest all
|
||||
+ $(MAKE) -C utest FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all
|
||||
endif
|
||||
ifneq ($(NO_CBLAS), 1)
|
||||
ifneq ($(ONLY_CBLAS), 1)
|
||||
- $(MAKE) -C ctest all
|
||||
+ $(MAKE) -C ctest FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all
|
||||
endif
|
||||
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
|
@ -1,55 +0,0 @@
|
||||
Fixing FTBFS on power:
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=2120974
|
||||
|
||||
Upstream issue: https://github.com/xianyi/OpenBLAS/issues/3738
|
||||
Upstream fix: https://github.com/xianyi/OpenBLAS/pull/3718
|
||||
|
||||
commit d9dc015cfc78fc32f555995a89d6957ef0184ea2
|
||||
Author: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
|
||||
Date: Mon Aug 8 14:52:10 2022 +0200
|
||||
|
||||
Use blasint for INTERFACE64 compatibility
|
||||
|
||||
diff --git a/test/compare_sgemm_sbgemm.c b/test/compare_sgemm_sbgemm.c
|
||||
index a2c358cf..d4b59145 100644
|
||||
--- a/test/compare_sgemm_sbgemm.c
|
||||
+++ b/test/compare_sgemm_sbgemm.c
|
||||
@@ -76,9 +76,9 @@ float16to32 (bfloat16_bits f16)
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
- int m, n, k;
|
||||
+ blasint m, n, k;
|
||||
int i, j, l;
|
||||
- int x;
|
||||
+ blasint x;
|
||||
int ret = 0;
|
||||
int loop = 100;
|
||||
char transA = 'N', transB = 'N';
|
||||
|
||||
commit 3d338b57de1837f1e2264a1262a9ee9203f31c6c
|
||||
Author: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
|
||||
Date: Mon Aug 8 17:09:45 2022 +0200
|
||||
|
||||
remove spurious loops
|
||||
|
||||
diff --git a/test/compare_sgemm_sbgemm.c b/test/compare_sgemm_sbgemm.c
|
||||
index d4b59145..276fecae 100644
|
||||
--- a/test/compare_sgemm_sbgemm.c
|
||||
+++ b/test/compare_sgemm_sbgemm.c
|
||||
@@ -112,7 +112,6 @@ main (int argc, char *argv[])
|
||||
&m, BB, &k, &beta, CC, &m);
|
||||
for (i = 0; i < n; i++)
|
||||
for (j = 0; j < m; j++)
|
||||
- for (l = 0; l < k; l++)
|
||||
if (fabs (CC[i * m + j] - C[i * m + j]) > 1.0)
|
||||
ret++;
|
||||
if (transA == 'N' && transB == 'N')
|
||||
@@ -126,7 +125,6 @@ main (int argc, char *argv[])
|
||||
}
|
||||
for (i = 0; i < n; i++)
|
||||
for (j = 0; j < m; j++)
|
||||
- for (l = 0; l < k; l++)
|
||||
if (CC[i * m + j] != DD[i * m + j])
|
||||
ret++;
|
||||
}
|
107
SOURCES/openblas-CVE-2021-4048.patch
Normal file
107
SOURCES/openblas-CVE-2021-4048.patch
Normal file
@ -0,0 +1,107 @@
|
||||
From 2be5ee3cca97a597f2ee2118808a2d5eacea050c Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
|
||||
Date: Fri, 1 Oct 2021 11:17:21 +0200
|
||||
Subject: [PATCH 1/4] Fix out of bounds read in ?llarv (Reference-LAPACK PR
|
||||
625)
|
||||
|
||||
---
|
||||
lapack-netlib/SRC/clarrv.f | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lapack-netlib/SRC/clarrv.f b/lapack-netlib/SRC/clarrv.f
|
||||
index a45f55ac..26a9febc 100644
|
||||
--- a/lapack-netlib/SRC/clarrv.f
|
||||
+++ b/lapack-netlib/SRC/clarrv.f
|
||||
@@ -351,7 +351,7 @@
|
||||
*
|
||||
* Quick return if possible
|
||||
*
|
||||
- IF( N.LE.0 ) THEN
|
||||
+ IF( (N.LE.0) .OR. (M.LE.0) ) THEN
|
||||
RETURN
|
||||
END IF
|
||||
*
|
||||
--
|
||||
2.34.1
|
||||
|
||||
|
||||
From fe497efa0510466fd93578aaf9da1ad8ed4edbe7 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
|
||||
Date: Fri, 1 Oct 2021 11:18:20 +0200
|
||||
Subject: [PATCH 2/4] Fix out of bounds read in ?llarv (Reference-LAPACK PR
|
||||
625)
|
||||
|
||||
---
|
||||
lapack-netlib/SRC/dlarrv.f | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lapack-netlib/SRC/dlarrv.f b/lapack-netlib/SRC/dlarrv.f
|
||||
index 4a59a2bb..a1c6e9c9 100644
|
||||
--- a/lapack-netlib/SRC/dlarrv.f
|
||||
+++ b/lapack-netlib/SRC/dlarrv.f
|
||||
@@ -353,7 +353,7 @@
|
||||
*
|
||||
* Quick return if possible
|
||||
*
|
||||
- IF( N.LE.0 ) THEN
|
||||
+ IF( (N.LE.0).OR.(M.LE.0) ) THEN
|
||||
RETURN
|
||||
END IF
|
||||
*
|
||||
--
|
||||
2.34.1
|
||||
|
||||
|
||||
From ddb0ff5353637bb5f5ad060c9620e334c143e3d7 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
|
||||
Date: Fri, 1 Oct 2021 11:19:07 +0200
|
||||
Subject: [PATCH 3/4] Fix out of bounds read in ?llarv (Reference-LAPACK PR
|
||||
625)
|
||||
|
||||
---
|
||||
lapack-netlib/SRC/slarrv.f | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lapack-netlib/SRC/slarrv.f b/lapack-netlib/SRC/slarrv.f
|
||||
index 04519fde..9448b2fd 100644
|
||||
--- a/lapack-netlib/SRC/slarrv.f
|
||||
+++ b/lapack-netlib/SRC/slarrv.f
|
||||
@@ -353,7 +353,7 @@
|
||||
*
|
||||
* Quick return if possible
|
||||
*
|
||||
- IF( N.LE.0 ) THEN
|
||||
+ IF( (N.LE.0).OR.(M.LE.0) ) THEN
|
||||
RETURN
|
||||
END IF
|
||||
*
|
||||
--
|
||||
2.34.1
|
||||
|
||||
|
||||
From 337b65133df174796794871b3988cd03426e6d41 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
|
||||
Date: Fri, 1 Oct 2021 11:19:53 +0200
|
||||
Subject: [PATCH 4/4] Fix out of bounds read in ?llarv (Reference-LAPACK PR
|
||||
625)
|
||||
|
||||
---
|
||||
lapack-netlib/SRC/zlarrv.f | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lapack-netlib/SRC/zlarrv.f b/lapack-netlib/SRC/zlarrv.f
|
||||
index 23976dbe..8d10e3c2 100644
|
||||
--- a/lapack-netlib/SRC/zlarrv.f
|
||||
+++ b/lapack-netlib/SRC/zlarrv.f
|
||||
@@ -351,7 +351,7 @@
|
||||
*
|
||||
* Quick return if possible
|
||||
*
|
||||
- IF( N.LE.0 ) THEN
|
||||
+ IF( (N.LE.0).OR.(M.LE.0) ) THEN
|
||||
RETURN
|
||||
END IF
|
||||
*
|
||||
--
|
||||
2.34.1
|
||||
|
@ -2,6 +2,9 @@
|
||||
# Version of bundled lapack
|
||||
%global lapackver 3.9.1
|
||||
|
||||
# Use strip from gcc-toolset-12
|
||||
%global __strip "scl enable gcc-toolset-12 -- strip"
|
||||
|
||||
# DO NOT "CLEAN UP" OR MODIFY THIS SPEC FILE WITHOUT ASKING THE
|
||||
# MAINTAINER FIRST!
|
||||
#
|
||||
@ -14,35 +17,35 @@
|
||||
# "obsoleted" features are still kept in the spec.
|
||||
|
||||
Name: openblas
|
||||
Version: 0.3.21
|
||||
Release: 2%{?dist}
|
||||
Version: 0.3.15
|
||||
Release: 6%{?dist}
|
||||
Summary: An optimized BLAS library based on GotoBLAS2
|
||||
Group: Development/Libraries
|
||||
License: BSD
|
||||
URL: https://github.com/xianyi/OpenBLAS/
|
||||
Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}/openblas-%{version}.tar.gz
|
||||
Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}.tar.gz
|
||||
# Use system lapack
|
||||
Patch0: openblas-0.2.15-system_lapack.patch
|
||||
Patch0: openblas-0.3.15-system-lapack.patch
|
||||
# Drop extra p from threaded library name
|
||||
Patch1: openblas-0.2.5-libname.patch
|
||||
# Don't use constructor priorities on too old architectures
|
||||
Patch2: openblas-0.2.15-constructor.patch
|
||||
Patch1: openblas-0.3.15-libname.patch
|
||||
# Supply the proper flags to the test makefile
|
||||
Patch3: openblas-0.3.11-tests.patch
|
||||
# Fix SBGEMM test to work with INTERFACE64
|
||||
Patch4: openblas-0.3.21-sbgemm-test.patch
|
||||
Patch2: openblas-0.3.15-tests.patch
|
||||
# Enable optimizations for all LAPACK sources
|
||||
Patch3: openblas-0.3.15-noopt.patch
|
||||
# Pass ASMFLAGS to assembler compiler
|
||||
Patch4: openblas-0.3.15-asmflags.patch
|
||||
# Remove optimization pragmas on ppc64le
|
||||
Patch5: openblas-0.3.15-power-optimize.patch
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gcc-gfortran
|
||||
Patch6: openblas-CVE-2021-4048.patch
|
||||
|
||||
BuildRequires: scl-utils
|
||||
BuildRequires: gcc-toolset-12-gcc
|
||||
BuildRequires: gcc-toolset-12-gcc-gfortran
|
||||
BuildRequires: gcc-toolset-12-annobin-plugin-gcc
|
||||
BuildRequires: perl-devel
|
||||
BuildRequires: multilib-rpm-config
|
||||
|
||||
# Rblas library is no longer necessary
|
||||
%if 0%{?fedora} >= 31 || 0%{?rhel} >= 8
|
||||
Obsoletes: %{name}-Rblas < %{version}-%{release}
|
||||
%endif
|
||||
|
||||
# Do we have execstack?
|
||||
%if 0%{?rhel} == 7
|
||||
%ifarch ppc64le aarch64
|
||||
@ -80,10 +83,8 @@ Provides: bundled(lapack) = %{lapackver}
|
||||
# Build 64-bit interface binaries?
|
||||
%if 0%{?__isa_bits} == 64
|
||||
%global build64 1
|
||||
%bcond_without cpp_thread_check
|
||||
%else
|
||||
%global build64 0
|
||||
%bcond_with cpp_thread_check
|
||||
%endif
|
||||
|
||||
%if %{with system_lapack}
|
||||
@ -105,103 +106,98 @@ Computational Science, ISCAS. http://www.rdcps.ac.cn
|
||||
%description
|
||||
%{base_description}
|
||||
|
||||
%package serial
|
||||
Summary: An optimized BLAS library based on GotoBLAS2, serial version
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
%package Rblas
|
||||
Summary: A version of OpenBLAS for R to use as libRblas
|
||||
Group: Development/Libraries
|
||||
|
||||
%description serial
|
||||
%description Rblas
|
||||
%{base_description}
|
||||
|
||||
This package contains the sequential library compiled with a 32-bit
|
||||
integer interface.
|
||||
|
||||
%package openmp
|
||||
Summary: An optimized BLAS library based on GotoBLAS2, OpenMP version
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Group: Development/Libraries
|
||||
|
||||
%description openmp
|
||||
%{base_description}
|
||||
|
||||
This package contains the library compiled with OpenMP support with
|
||||
32-bit integer interface.
|
||||
This package contains the library compiled with OpenMP support.
|
||||
|
||||
%package threads
|
||||
Summary: An optimized BLAS library based on GotoBLAS2, pthreads version
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Group: Development/Libraries
|
||||
|
||||
%description threads
|
||||
%{base_description}
|
||||
|
||||
This package contains the library compiled with threading support and
|
||||
a 32-bit integer interface.
|
||||
This package contains the library compiled with threading support.
|
||||
|
||||
%if %build64
|
||||
%package serial64
|
||||
Summary: An optimized BLAS library based on GotoBLAS2, serial version
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Group: Development/Libraries
|
||||
|
||||
%description serial64
|
||||
%{base_description}
|
||||
|
||||
This package contains the sequential library compiled with a 64-bit
|
||||
integer interface.
|
||||
interface.
|
||||
|
||||
%package openmp64
|
||||
Summary: An optimized BLAS library based on GotoBLAS2, OpenMP version
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Group: Development/Libraries
|
||||
|
||||
%description openmp64
|
||||
%{base_description}
|
||||
|
||||
This package contains the library compiled with OpenMP support and
|
||||
64-bit integer interface.
|
||||
64-bit interface.
|
||||
|
||||
%package threads64
|
||||
Summary: An optimized BLAS library based on GotoBLAS2, pthreads version
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Group: Development/Libraries
|
||||
|
||||
%description threads64
|
||||
%{base_description}
|
||||
|
||||
This package contains the library compiled with threading support and
|
||||
64-bit integer interface.
|
||||
64-bit interface.
|
||||
|
||||
%package serial64_
|
||||
Summary: An optimized BLAS library based on GotoBLAS2, serial version
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Group: Development/Libraries
|
||||
|
||||
%description serial64_
|
||||
%{base_description}
|
||||
|
||||
This package contains the sequential library compiled with a 64-bit
|
||||
integer interface and a symbol name suffix.
|
||||
interface and a symbol name suffix.
|
||||
|
||||
%package openmp64_
|
||||
Summary: An optimized BLAS library based on GotoBLAS2, OpenMP version
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Group: Development/Libraries
|
||||
|
||||
%description openmp64_
|
||||
%{base_description}
|
||||
|
||||
This package contains the library compiled with OpenMP support and
|
||||
64-bit integer interface and a symbol name suffix.
|
||||
64-bit interface and a symbol name suffix.
|
||||
|
||||
%package threads64_
|
||||
Summary: An optimized BLAS library based on GotoBLAS2, pthreads version
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Group: Development/Libraries
|
||||
|
||||
%description threads64_
|
||||
%{base_description}
|
||||
|
||||
This package contains the library compiled with threading support and
|
||||
64-bit integer interface and a symbol name suffix.
|
||||
64-bit interface and a symbol name suffix.
|
||||
%endif
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: Development headers and libraries for OpenBLAS
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-serial%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-openmp%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-threads%{?_isa} = %{version}-%{release}
|
||||
%if %build64
|
||||
@ -221,6 +217,7 @@ This package contains the development headers and libraries.
|
||||
|
||||
%package static
|
||||
Summary: Static version of OpenBLAS
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description static
|
||||
@ -236,14 +233,14 @@ This package contains the static libraries.
|
||||
tar zxf %{SOURCE0}
|
||||
cd OpenBLAS-%{version}
|
||||
%if %{with system_lapack}
|
||||
%patch0 -p1 -b .system_lapack
|
||||
%patch0 -p1 -b .system-lapack
|
||||
%endif
|
||||
%patch1 -p1 -b .libname
|
||||
%if 0%{?rhel} == 5
|
||||
%patch2 -p1 -b .constructor
|
||||
%endif
|
||||
%patch3 -p1 -b .tests
|
||||
%patch4 -p1 -b .sbgemm
|
||||
%patch2 -p1 -b .tests
|
||||
%patch3 -p1 -b .noopt
|
||||
%patch4 -p1 -b .asmflags
|
||||
%patch5 -p1 -b .power-optimize
|
||||
%patch6 -p1 -b .cve-2021-4048
|
||||
|
||||
# Fix source permissions
|
||||
find -name \*.f -exec chmod 644 {} \;
|
||||
@ -254,6 +251,7 @@ rm -rf lapack-netlib
|
||||
%endif
|
||||
|
||||
# Make serial, threaded and OpenMP versions; as well as 64-bit versions
|
||||
# Also make an libRblas.so
|
||||
cd ..
|
||||
cp -ar OpenBLAS-%{version} openmp
|
||||
cp -ar OpenBLAS-%{version} threaded
|
||||
@ -262,8 +260,14 @@ for d in {serial,threaded,openmp}64{,_}; do
|
||||
cp -ar OpenBLAS-%{version} $d
|
||||
done
|
||||
%endif
|
||||
cp -ar OpenBLAS-%{version} Rblas
|
||||
mv OpenBLAS-%{version} serial
|
||||
|
||||
# Hackup Rblas Makefiles
|
||||
sed -i 's|.so.$(MAJOR_VERSION)|.so|g' Rblas/Makefile
|
||||
sed -i 's|.so.$(MAJOR_VERSION)|.so|g' Rblas/exports/Makefile
|
||||
sed -i 's|@ln -fs $(LIBSONAME) $(LIBPREFIX).so|#@ln -fs $(LIBSONAME) $(LIBPREFIX).so|g' Rblas/Makefile
|
||||
|
||||
%if %{with system_lapack}
|
||||
# Setup 32-bit interface LAPACK
|
||||
mkdir netliblapack
|
||||
@ -340,9 +344,9 @@ rm -rf netliblapack64
|
||||
%endif
|
||||
|
||||
%build
|
||||
# openblas fails to build with LTO due to undefined symbols. These could
|
||||
# well be the result of the assembly code used in this package
|
||||
%define _lto_cflags %{nil}
|
||||
# Enable gcc-toolset-12
|
||||
source scl_source enable gcc-toolset-12
|
||||
|
||||
%if !%{lapacke}
|
||||
LAPACKE="NO_LAPACKE=1"
|
||||
%endif
|
||||
@ -376,7 +380,7 @@ TARGET="TARGET=POWER7 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
|
||||
TARGET="TARGET=POWER8 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
|
||||
%endif
|
||||
%ifarch aarch64
|
||||
TARGET="TARGET=ARMV8 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
|
||||
TARGET="TARGET=ARMV8 DYNAMIC_ARCH=0"
|
||||
%endif
|
||||
%ifarch s390x
|
||||
TARGET="TARGET=ZARCH_GENERIC DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
|
||||
@ -385,46 +389,54 @@ TARGET="TARGET=ZARCH_GENERIC DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
|
||||
%if 0%{?rhel} == 5
|
||||
# Gfortran too old to recognize -frecursive
|
||||
COMMON="%{optflags} -fPIC"
|
||||
FCOMMON="%{optflags} -fPIC"
|
||||
FCOMMON="%{optflags} -fPIC -cpp"
|
||||
%else
|
||||
COMMON="%{optflags} -fPIC"
|
||||
FCOMMON="%{optflags} -fPIC -frecursive"
|
||||
FCOMMON="%{optflags} -fPIC -frecursive -cpp"
|
||||
%endif
|
||||
# Use Fedora linker flags
|
||||
export LDFLAGS="%{__global_ldflags}"
|
||||
|
||||
# ensure object files built from assembler sources are annotated
|
||||
export ASMFLAGS="-Wa,--generate-missing-build-notes=yes"
|
||||
|
||||
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
|
||||
|
||||
# Declare some necessary build flags
|
||||
COMMON="%{optflags} -fPIC"
|
||||
FCOMMON="$COMMON -frecursive"
|
||||
FCOMMON="$COMMON -frecursive -cpp"
|
||||
make -C serial $TARGET USE_THREAD=0 USE_LOCKING=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas" $AVX $LAPACKE INTERFACE64=0
|
||||
make -C threaded $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp" $AVX $LAPACKE INTERFACE64=0
|
||||
|
||||
# USE_THREAD determines use of SMP, not of pthreads
|
||||
COMMON="%{optflags} -fPIC -fopenmp -pthread"
|
||||
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 %{with cpp_thread_check:CPP_THREAD_SAFETY_TEST=1}
|
||||
FCOMMON="$COMMON -frecursive -cpp"
|
||||
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
|
||||
|
||||
%if %build64
|
||||
COMMON="%{optflags} -fPIC"
|
||||
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
|
||||
FCOMMON="$COMMON -frecursive -fdefault-integer-8 -cpp"
|
||||
make -C serial64 $TARGET USE_THREAD=0 USE_LOCKING=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas64" $AVX $LAPACKE INTERFACE64=1
|
||||
make -C threaded64 $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp64" $AVX $LAPACKE INTERFACE64=1
|
||||
|
||||
COMMON="%{optflags} -fPIC -fopenmp -pthread"
|
||||
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 CPP_THREAD_SAFETY_TEST=1
|
||||
FCOMMON="$COMMON -frecursive -fdefault-integer-8 -cpp"
|
||||
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
|
||||
|
||||
COMMON="%{optflags} -fPIC"
|
||||
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
|
||||
FCOMMON="$COMMON -frecursive -fdefault-integer-8 -cpp"
|
||||
make -C serial64_ $TARGET USE_THREAD=0 USE_LOCKING=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_
|
||||
make -C threaded64_ $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_
|
||||
|
||||
COMMON="%{optflags} -fPIC -fopenmp -pthread"
|
||||
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_ CPP_THREAD_SAFETY_TEST=1
|
||||
FCOMMON="$COMMON -frecursive -fdefault-integer-8 -cpp"
|
||||
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_
|
||||
%endif
|
||||
|
||||
%install
|
||||
# Enable gcc-toolset-12
|
||||
source scl_source enable gcc-toolset-12
|
||||
|
||||
rm -rf %{buildroot}
|
||||
# Install serial library and headers
|
||||
make -C serial USE_THREAD=0 DESTDIR=%{buildroot} OPENBLAS_LIBRARY_DIR=%{_libdir} OPENBLAS_INCLUDE_DIR=%{_includedir}/%name OPENBLAS_BINARY_DIR=%{_bindir} OPENBLAS_CMAKE_DIR=%{_libdir}/cmake install
|
||||
@ -443,6 +455,9 @@ suffix=""
|
||||
%ifarch armv7hl
|
||||
suffix="_armv7"
|
||||
%endif
|
||||
%ifarch aarch64
|
||||
suffix="_armv8"
|
||||
%endif
|
||||
slibname=`basename %{buildroot}%{_libdir}/libopenblas${suffix}-*.so .so`
|
||||
mv %{buildroot}%{_libdir}/${slibname}.a %{buildroot}%{_libdir}/lib%{name}.a
|
||||
if [[ "$suffix" != "" ]]; then
|
||||
@ -452,6 +467,10 @@ else
|
||||
sname=${slibname}
|
||||
fi
|
||||
|
||||
# Install the Rblas library
|
||||
mkdir -p %{buildroot}%{_libdir}/R/lib/
|
||||
install -p -m 755 Rblas/libRblas.so %{buildroot}%{_libdir}/R/lib/
|
||||
|
||||
# Install the OpenMP library
|
||||
olibname=`echo ${slibname} | sed "s|lib%{name}|lib%{name}o|g"`
|
||||
install -D -p -m 644 openmp/${olibname}.a %{buildroot}%{_libdir}/lib%{name}o.a
|
||||
@ -555,33 +574,45 @@ ln -sf ${pname64_}.so lib%{name}p64_.so.0
|
||||
for lib in %{buildroot}%{_libdir}/libopenblas*.so; do
|
||||
execstack -c $lib
|
||||
done
|
||||
for lib in %{buildroot}%{_libdir}/R/lib/libRblas*.so; do
|
||||
execstack -c $lib
|
||||
done
|
||||
%endif
|
||||
|
||||
# Get rid of generated CMake config
|
||||
rm -rf %{buildroot}%{_libdir}/cmake
|
||||
|
||||
%ldconfig_scriptlets
|
||||
%post -p /sbin/ldconfig
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%ldconfig_scriptlets openmp
|
||||
%post openmp -p /sbin/ldconfig
|
||||
%postun openmp -p /sbin/ldconfig
|
||||
|
||||
%ldconfig_scriptlets threads
|
||||
%post Rblas -p /sbin/ldconfig
|
||||
%postun Rblas -p /sbin/ldconfig
|
||||
|
||||
%post threads -p /sbin/ldconfig
|
||||
%postun threads -p /sbin/ldconfig
|
||||
|
||||
%if %build64
|
||||
%ldconfig_scriptlets openmp64
|
||||
%ldconfig_scriptlets openmp64_
|
||||
%post openmp64 -p /sbin/ldconfig
|
||||
%postun openmp64 -p /sbin/ldconfig
|
||||
%post openmp64_ -p /sbin/ldconfig
|
||||
%postun openmp64_ -p /sbin/ldconfig
|
||||
|
||||
%ldconfig_scriptlets serial64
|
||||
%ldconfig_scriptlets serial64_
|
||||
%post serial64 -p /sbin/ldconfig
|
||||
%postun serial64 -p /sbin/ldconfig
|
||||
%post serial64_ -p /sbin/ldconfig
|
||||
%postun serial64_ -p /sbin/ldconfig
|
||||
|
||||
%ldconfig_scriptlets threads64
|
||||
%ldconfig_scriptlets threads64_
|
||||
%post threads64 -p /sbin/ldconfig
|
||||
%postun threads64 -p /sbin/ldconfig
|
||||
%post threads64_ -p /sbin/ldconfig
|
||||
%postun threads64_ -p /sbin/ldconfig
|
||||
%endif
|
||||
|
||||
%files
|
||||
%license serial/LICENSE
|
||||
%doc serial/Changelog.txt serial/GotoBLAS*
|
||||
|
||||
%files serial
|
||||
%doc serial/Changelog.txt serial/GotoBLAS* serial/LICENSE
|
||||
%{_libdir}/lib%{name}-*.so
|
||||
%{_libdir}/lib%{name}.so.*
|
||||
|
||||
@ -635,6 +666,9 @@ rm -rf %{buildroot}%{_libdir}/cmake
|
||||
%{_libdir}/lib%{name}p64_.so
|
||||
%endif
|
||||
|
||||
%files Rblas
|
||||
%{_libdir}/R/lib/libRblas.so
|
||||
|
||||
%files static
|
||||
%{_libdir}/lib%{name}.a
|
||||
%{_libdir}/lib%{name}o.a
|
||||
@ -649,155 +683,94 @@ rm -rf %{buildroot}%{_libdir}/cmake
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Tue Jan 31 2023 Matej Mužila <mmuzila@redhat.com> - 0.3.21-2
|
||||
* Thu Feb 16 2023 Matej Mužila <mmuzila@redhat.com> - 0.3.15-6
|
||||
- Include openblas.pc
|
||||
Resolves: #2115737
|
||||
- Resolves: #2115722
|
||||
|
||||
* Wed Aug 24 2022 Honza Horak <hhorak@redhat.com> - 0.3.21-1
|
||||
- Update to 0.3.21
|
||||
Resolves: #2112099
|
||||
- Fix SBGEMM test to work with INTERFACE64 (rhbz#2120974)
|
||||
* Wed Feb 15 2023 Nikola Forró <nforro@redhat.com> - 0.3.15-5
|
||||
- Disable dynamic CPU detection on aarch64
|
||||
- Use gcc-toolset-12
|
||||
- Resolves: #2170398
|
||||
|
||||
* Tue Jan 11 2022 Honza Horak <hhorak@redhat.com> - 0.3.15-3
|
||||
- Fix out of bounds read in ?llarv (Reference-LAPACK PR 625)
|
||||
(CVE-2021-4048)
|
||||
Resolves: #2029855
|
||||
* Wed Jun 15 2022 Matej Mužila <mmuzila@redhat.com> - 0.3.15-4
|
||||
- Fix out-of-bounds read in *larrv
|
||||
- Resolves: CVE-2021-4048
|
||||
|
||||
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 0.3.15-2
|
||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||
Related: rhbz#1991688
|
||||
* Fri Nov 12 2021 Nikola Forró <nforro@redhat.com> - 0.3.15-3
|
||||
- Fix missing header files in openblas-devel subpackage by enabling
|
||||
gcc-toolset-11 in %%install as well
|
||||
related: #1983218
|
||||
|
||||
* Thu May 06 2021 Nikola Forró <nforro@redhat.com> - 0.3.15-1
|
||||
- Update to 0.3.15.
|
||||
related: #1870676
|
||||
related: #1870033
|
||||
* Thu Oct 21 2021 Nikola Forró <nforro@redhat.com> - 0.3.15-2
|
||||
- Enable dynamic cpu detection on all supported architectures
|
||||
related: #1983218
|
||||
|
||||
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 0.3.13-2
|
||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||
* Wed Sep 15 2021 Nikola Forró <nforro@redhat.com> - 0.3.15-1
|
||||
- Rebase to version 0.3.15
|
||||
- Use gcc-toolset-11 to benefit from POWER 10 optimizations
|
||||
resolves: #1983218
|
||||
|
||||
* Tue Apr 06 2021 Nikola Forró <nforro@redhat.com> - 0.3.13-1
|
||||
- Update to 0.3.13.
|
||||
resolves: #1870676
|
||||
related: #1870033
|
||||
* Wed Oct 28 2020 Nikola Forró <nforro@redhat.com> - 0.3.12-1
|
||||
- Rebase to version 0.3.12
|
||||
related: #1847435
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.12-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
* Wed Oct 21 2020 Nikola Forró <nforro@redhat.com> - 0.3.10-2
|
||||
- Fix macro used in LAPACKE_zgesvdq
|
||||
related: #1847435
|
||||
|
||||
* Sun Oct 25 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.12-1
|
||||
- Update to 0.3.12.
|
||||
* Tue Oct 20 2020 Nikola Forró <nforro@redhat.com> - 0.3.10-1
|
||||
- Rebase to version 0.3.10
|
||||
resolves: #1847435
|
||||
|
||||
* Sun Oct 18 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.11-1
|
||||
- Update to 0.3.11.
|
||||
* Fri Nov 22 2019 Nikola Forró <nforro@redhat.com> - 0.3.3-5
|
||||
- Detect POWER9 as POWER8
|
||||
related: #1752241
|
||||
|
||||
* Fri Sep 18 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.10-6
|
||||
- Fix incorrect result of cblas_zdotc_sub on ppc64le (BZ #1878449).
|
||||
* Wed Nov 20 2019 Nikola Forró <nforro@redhat.com> - 0.3.3-4
|
||||
- Add tests and enable gating
|
||||
related: #1752241
|
||||
|
||||
* Sat Aug 29 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.10-5
|
||||
- Fix unresolved bfloat16 datatype (BZ #1873667).
|
||||
* Tue Sep 24 2019 Nikola Forró <nforro@redhat.com> - 0.3.3-3
|
||||
- Fix izamax on s390x
|
||||
resolves: #1752241
|
||||
|
||||
* Fri Aug 14 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.10-4
|
||||
- Obsolete Rblas package (BZ #1849966).
|
||||
* Wed Nov 07 2018 Nikola Forró <nforro@redhat.com> - 0.3.3-2
|
||||
- Fix i686-x86_64 multilib difference
|
||||
related: #1627890
|
||||
|
||||
* Tue Aug 11 2020 Jeff Law <law@redhat.com> - 0.3.10-3
|
||||
- Disable LTO
|
||||
* Fri Oct 19 2018 Nikola Forró <nforro@redhat.com> - 0.3.3-1
|
||||
- Rebase to version 0.3.3
|
||||
resolves: #1627890
|
||||
|
||||
* Tue Jul 28 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.10-2
|
||||
- Include upstream patch 2672 to fix test suite on systems with few CPUs.
|
||||
* Mon Oct 15 2018 Nikola Forró <nforro@redhat.com> - 0.2.20-16
|
||||
- Set proper CFLAGS also for Rblas
|
||||
related: #1624156
|
||||
|
||||
* Mon Jun 15 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.10-1
|
||||
- Update to 0.3.10.
|
||||
* Fri Oct 12 2018 Nikola Forró <nforro@redhat.com> - 0.2.20-15
|
||||
- Remove optimization pragmas on ppc64le
|
||||
related: #1624156
|
||||
|
||||
* Thu May 28 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.9-3
|
||||
- Enable USE_LOCKING in the sequential versions of the library for
|
||||
thread safety.
|
||||
* Wed Sep 26 2018 Nikola Forró <nforro@redhat.com> - 0.2.20-14
|
||||
- Ensure object files built from assembler sources are annotated
|
||||
related: #1624156
|
||||
|
||||
* Thu Apr 02 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.9-2
|
||||
- Patch for BZ #1820131.
|
||||
* Mon Sep 17 2018 Nikola Forró <nforro@redhat.com> - 0.2.20-13
|
||||
- Fix detection of generic ARMv8 CPUs
|
||||
- Get rid of executable stack in libRblas.so
|
||||
related: #1624156
|
||||
|
||||
* Mon Mar 02 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.9-1
|
||||
- Update to 0.3.9.
|
||||
* Thu Sep 06 2018 Nikola Forró <nforro@redhat.com> - 0.2.20-12
|
||||
- Force preprocessing of Fortran sources to make annobin record proper flags
|
||||
- Enable optimizations for all LAPACK sources
|
||||
resolves: #1624156
|
||||
|
||||
* Tue Feb 11 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.8-1
|
||||
- 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
|
||||
- Update to 0.3.0.
|
||||
* Tue Aug 14 2018 Nikola Forró <nforro@redhat.com> - 0.2.20-11
|
||||
- Fix build on s390x (#1615557)
|
||||
|
||||
* Thu Mar 22 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-10
|
||||
- Disable CPU affinity unintentionally enabled upstream (BZ #1558091).
|
||||
|
||||
* Sun Mar 04 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-9
|
||||
* Wed Mar 04 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-9
|
||||
- Clean up obsolete conditionals for 64 bit builds in spec file.
|
||||
|
||||
* Tue Feb 27 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-8
|
||||
|
Loading…
Reference in New Issue
Block a user