Gentoo Archives: gentoo-commits

From: "Jakov Smolić" <jsmolic@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/openblas/files/, sci-libs/openblas/
Date: Wed, 27 Apr 2022 21:18:42
Message-Id: 1651094304.47b90dedf06234195ea5eb701633396e0acb2687.jsmolic@gentoo
1 commit: 47b90dedf06234195ea5eb701633396e0acb2687
2 Author: Han Gao <rabenda.cn <AT> gmail <DOT> com>
3 AuthorDate: Wed Apr 27 16:15:35 2022 +0000
4 Commit: Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
5 CommitDate: Wed Apr 27 21:18:24 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=47b90ded
7
8 sci-libs/openblas: fix riscv detect
9
10 Bug: https://bugs.gentoo.org/837806
11 Signed-off-by: Han Gao <rabenda.cn <AT> gmail.com>
12 Signed-off-by: Jakov Smolić <jsmolic <AT> gentoo.org>
13
14 .../openblas/files/openblas-0.3.20-fix-riscv.patch | 116 +++++++++++++++++++++
15 sci-libs/openblas/openblas-0.3.20.ebuild | 1 +
16 2 files changed, 117 insertions(+)
17
18 diff --git a/sci-libs/openblas/files/openblas-0.3.20-fix-riscv.patch b/sci-libs/openblas/files/openblas-0.3.20-fix-riscv.patch
19 new file mode 100644
20 index 000000000000..9a14180cb85d
21 --- /dev/null
22 +++ b/sci-libs/openblas/files/openblas-0.3.20-fix-riscv.patch
23 @@ -0,0 +1,116 @@
24 +Bug: https://bugs.gentoo.org/837806
25 +From https://github.com/xianyi/OpenBLAS/pull/3613
26 +
27 +From 3fc52ebcfb80e01f753938fd314ca07b2c085767 Mon Sep 17 00:00:00 2001
28 +From: Han Gao <gaohan@×××××××××.com>
29 +Date: Wed, 27 Apr 2022 01:34:55 +0800
30 +Subject: [PATCH 1/2] Fix other arch build in detect.
31 +
32 +When CORE is empty, use -march=loongson3a. Fix it.
33 +
34 +Signed-off-by: Han Gao <gaohan@×××××××××.com>
35 +---
36 + Makefile.system | 2 +-
37 + 1 file changed, 1 insertion(+), 1 deletion(-)
38 +
39 +diff --git a/Makefile.system b/Makefile.system
40 +index ac60eae5b6..1104893b55 100644
41 +--- a/Makefile.system
42 ++++ b/Makefile.system
43 +@@ -847,7 +847,7 @@ CCOMMON_OPT += -mabi=32
44 + BINARY_DEFINED = 1
45 + endif
46 +
47 +-ifeq ($(CORE), $(filter $(CORE),LOONGSON3R3 LOONGSON3R4))
48 ++ifneq (, $(filter $(CORE),LOONGSON3R3 LOONGSON3R4))
49 + CCOMMON_OPT += -march=loongson3a
50 + FCOMMON_OPT += -march=loongson3a
51 + endif
52 +
53 +From 8123324c99ba69ce23b4028468313663001a76c6 Mon Sep 17 00:00:00 2001
54 +From: Han Gao <gaohan@×××××××××.com>
55 +Date: Wed, 27 Apr 2022 02:29:43 +0800
56 +Subject: [PATCH 2/2] Fix riscv64 arch detect
57 +
58 +Signed-off-by: Han Gao <gaohan@×××××××××.com>
59 +---
60 + cpuid_riscv64.c | 18 +++++++++---------
61 + getarch.c | 4 ++--
62 + 2 files changed, 11 insertions(+), 11 deletions(-)
63 +
64 +diff --git a/cpuid_riscv64.c b/cpuid_riscv64.c
65 +index 0eb50e0018..2aa4217816 100644
66 +--- a/cpuid_riscv64.c
67 ++++ b/cpuid_riscv64.c
68 +@@ -1,5 +1,5 @@
69 + /*****************************************************************************
70 +-Copyright (c) 2011-2014, The OpenBLAS Project
71 ++Copyright (c) 2011-2022, The OpenBLAS Project
72 + All rights reserved.
73 +
74 + Redistribution and use in source and binary forms, with or without
75 +@@ -13,9 +13,9 @@ modification, are permitted provided that the following conditions are
76 + notice, this list of conditions and the following disclaimer in
77 + the documentation and/or other materials provided with the
78 + distribution.
79 +- 3. Neither the name of the OpenBLAS project nor the names of
80 +- its contributors may be used to endorse or promote products
81 +- derived from this software without specific prior written
82 ++ 3. Neither the name of the OpenBLAS project nor the names of
83 ++ its contributors may be used to endorse or promote products
84 ++ derived from this software without specific prior written
85 + permission.
86 +
87 + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
88 +@@ -70,16 +70,16 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
89 + /* or implied, of The University of Texas at Austin. */
90 + /*********************************************************************/
91 +
92 +-#define CPU_UNKNOWN 0
93 +-#define CPU_C910V 1
94 ++#define CPU_GENERIC 0
95 ++#define CPU_C910V 1
96 +
97 + static char *cpuname[] = {
98 +- "UNKOWN",
99 ++ "RISCV64_GENERIC",
100 + "C910V"
101 + };
102 +
103 + int detect(void){
104 +- return CPU_UNKNOWN;
105 ++ return CPU_GENERIC;
106 + }
107 +
108 + char *get_corename(void){
109 +@@ -98,7 +98,7 @@ void get_subdirname(void){
110 + }
111 +
112 + void get_cpuconfig(void){
113 +- printf("#define UNKNOWN\n");
114 ++ printf("#define %s\n", cpuname[detect()]);
115 + printf("#define L1_DATA_SIZE 65536\n");
116 + printf("#define L1_DATA_LINESIZE 32\n");
117 + printf("#define L2_SIZE 512488\n");
118 +diff --git a/getarch.c b/getarch.c
119 +index 4af986fb3b..f4590769d9 100644
120 +--- a/getarch.c
121 ++++ b/getarch.c
122 +@@ -1731,7 +1731,7 @@ int main(int argc, char *argv[]){
123 + #ifdef FORCE
124 + printf("CORE=%s\n", CORENAME);
125 + #else
126 +-#if defined(INTEL_AMD) || defined(POWER) || defined(__mips__) || defined(__arm__) || defined(__aarch64__) || defined(ZARCH) || defined(sparc) || defined(__loongarch__)
127 ++#if defined(INTEL_AMD) || defined(POWER) || defined(__mips__) || defined(__arm__) || defined(__aarch64__) || defined(ZARCH) || defined(sparc) || defined(__loongarch__) || defined(__riscv)
128 + printf("CORE=%s\n", get_corename());
129 + #endif
130 + #endif
131 +@@ -1879,7 +1879,7 @@ printf("ELF_VERSION=2\n");
132 + #ifdef FORCE
133 + printf("#define CHAR_CORENAME \"%s\"\n", CORENAME);
134 + #else
135 +-#if defined(INTEL_AMD) || defined(POWER) || defined(__mips__) || defined(__arm__) || defined(__aarch64__) || defined(ZARCH) || defined(sparc) || defined(__loongarch__)
136 ++#if defined(INTEL_AMD) || defined(POWER) || defined(__mips__) || defined(__arm__) || defined(__aarch64__) || defined(ZARCH) || defined(sparc) || defined(__loongarch__) || defined(__riscv)
137 + printf("#define CHAR_CORENAME \"%s\"\n", get_corename());
138 + #endif
139 + #endif
140
141 diff --git a/sci-libs/openblas/openblas-0.3.20.ebuild b/sci-libs/openblas/openblas-0.3.20.ebuild
142 index ed4ad9b91ed7..04d90c709e40 100644
143 --- a/sci-libs/openblas/openblas-0.3.20.ebuild
144 +++ b/sci-libs/openblas/openblas-0.3.20.ebuild
145 @@ -27,6 +27,7 @@ BDEPEND="virtual/pkgconfig"
146
147 PATCHES=(
148 "${FILESDIR}/${PN}-0.3.12-shared-blas-lapack.patch"
149 + "${FILESDIR}/${PN}-0.3.20-fix-riscv.patch"
150 )
151
152 pkg_pretend() {