openblas: fixes for Xcode 16.3 darwin aarch64 (#49976)

This commit is contained in:
Matt Thompson 2025-04-14 05:18:07 -04:00 committed by GitHub
parent b66694d1ca
commit b3ded1332e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 87 additions and 0 deletions

View File

@ -0,0 +1,84 @@
diff --git a/Makefile.system b/Makefile.system
index ac278bab1..a1059c224 100644
--- a/Makefile.system
+++ b/Makefile.system
@@ -434,6 +434,11 @@ ifeq (x$(XCVER), x 15)
CCOMMON_OPT += -Wl,-ld_classic
FCOMMON_OPT += -Wl,-ld_classic
endif
+ifeq (x$(XCVER), x 16)
+ifeq ($(F_COMPILER), GFORTRAN)
+override CEXTRALIB := $(filter-out(-lto_library, $(CEXTRALIB)))
+endif
+endif
endif
ifneq (,$(findstring $(OSNAME), FreeBSD OpenBSD DragonFly))
diff --git a/ctest/Makefile b/ctest/Makefile
index 877a190c1..e6f683bd8 100644
--- a/ctest/Makefile
+++ b/ctest/Makefile
@@ -235,18 +235,18 @@ FLDFLAGS = $(FFLAGS:-fPIC=) $(LDFLAGS)
ifeq ($(USE_OPENMP), 1)
ifeq ($(F_COMPILER), GFORTRAN)
ifeq ($(C_COMPILER), CLANG)
-CEXTRALIB += -lomp
+EXTRALIB += -lomp
endif
endif
ifeq ($(F_COMPILER), NAG)
-CEXTRALIB = -lgomp
+EXTRALIB = -lgomp
endif
ifeq ($(F_COMPILER), IBM)
ifeq ($(C_COMPILER), GCC)
-CEXTRALIB += -lgomp
+EXTRALIB += -lgomp
endif
ifeq ($(C_COMPILER), CLANG)
-CEXTRALIB += -lomp
+EXTRALIB += -lomp
endif
endif
endif
diff --git a/test/Makefile b/test/Makefile
index 65576d3dd..9ba88988b 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -299,18 +299,18 @@ CLDFLAGS = $(CFLAGS) $(LDFLAGS)
ifeq ($(USE_OPENMP), 1)
ifeq ($(F_COMPILER), GFORTRAN)
ifeq ($(C_COMPILER), CLANG)
-CEXTRALIB += -lomp
+EXTRALIB += -lomp
endif
endif
ifeq ($(F_COMPILER), NAG)
-CEXTRALIB = -lgomp
+EXTRALIB = -lgomp
endif
ifeq ($(F_COMPILER), IBM)
ifeq ($(C_COMPILER), GCC)
-CEXTRALIB += -lgomp
+EXTRALIB += -lgomp
endif
ifeq ($(C_COMPILER), CLANG)
-CEXTRALIB += -lomp
+EXTRALIB += -lomp
endif
endif
endif
diff --git a/utest/test_potrs.c b/utest/test_potrs.c
index 642ce1e37..bcb1f753b 100644
--- a/utest/test_potrs.c
+++ b/utest/test_potrs.c
@@ -32,7 +32,9 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
**********************************************************************************/
#include "openblas_utest.h"
+#if defined(ARCH_LOONGARCH64)
#pragma GCC optimize("no-gcse")
+#endif
/*
void BLASFUNC(cpotrf)(char*, BLASINT*, complex float*, BLASINT*, BLASINT*);
void BLASFUNC(zpotrs_(char*, BLASINT*, BLASINT*, complex double*,

View File

@ -114,6 +114,9 @@ class Openblas(CMakePackage, MakefilePackage):
# https://github.com/OpenMathLib/OpenBLAS/pull/4328
patch("xcode15-fortran.patch", when="@0.3.25 %apple-clang@15:")
# https://github.com/OpenMathLib/OpenBLAS/issues/5202
patch("openblas-0.3.29-darwin-aarch64.patch", when="@0.3.29 platform=darwin")
# https://github.com/xianyi/OpenBLAS/pull/2519/files
patch("ifort-msvc.patch", when="%msvc")