Skip to content

Commit

Permalink
Fix the LinearAlgebra/tridiag segfaults by adding the relevant patc…
Browse files Browse the repository at this point in the history
…h and bumping the OpenBLAS JLLs
  • Loading branch information
DilumAluthge committed Oct 8, 2021
1 parent 8f660fe commit e9bcd98
Show file tree
Hide file tree
Showing 2 changed files with 101 additions and 1 deletion.
7 changes: 6 additions & 1 deletion deps/openblas.mk
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,12 @@ $(BUILDDIR)/$(OPENBLAS_SRC_DIR)/openblas-ofast-power.patch-applied: $(BUILDDIR)/
patch -p1 -f < $(SRCDIR)/patches/openblas-ofast-power.patch
echo 1 > $@

$(BUILDDIR)/$(OPENBLAS_SRC_DIR)/neoverse-generic-kernels.patch-applied: $(BUILDDIR)/$(OPENBLAS_SRC_DIR)/openblas-ofast-power.patch-applied
$(BUILDDIR)/$(OPENBLAS_SRC_DIR)/openblas-julia42415-lapack625-openblas3392.patch-applied: $(BUILDDIR)/$(OPENBLAS_SRC_DIR)/openblas-ofast-power.patch-applied
cd $(BUILDDIR)/$(OPENBLAS_SRC_DIR) && \
patch -p1 -f < $(SRCDIR)/patches/openblas-julia42415-lapack625-openblas3392.patch
echo 1 > $@

$(BUILDDIR)/$(OPENBLAS_SRC_DIR)/neoverse-generic-kernels.patch-applied: $(BUILDDIR)/$(OPENBLAS_SRC_DIR)/openblas-julia42415-lapack625-openblas3392.patch-applied
cd $(BUILDDIR)/$(OPENBLAS_SRC_DIR) && \
patch -p1 -f < $(SRCDIR)/patches/neoverse-generic-kernels.patch
echo 1 > $@
Expand Down
95 changes: 95 additions & 0 deletions deps/patches/openblas-julia42415-lapack625-openblas3392.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
From 2be5ee3cca97a597f2ee2118808a2d5eacea050c Mon Sep 17 00:00:00 2001
From: Martin Kroeker <[email protected]>
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 a45f55ac3b..26a9febc87 100644
--- a/lapack-netlib/SRC/clarrv.f
+++ b/lapack-netlib/SRC/clarrv.f
@@ -351,7 +351,7 @@ SUBROUTINE CLARRV( N, VL, VU, D, L, PIVMIN,
*
* Quick return if possible
*
- IF( N.LE.0 ) THEN
+ IF( (N.LE.0) .OR. (M.LE.0) ) THEN
RETURN
END IF
*

From fe497efa0510466fd93578aaf9da1ad8ed4edbe7 Mon Sep 17 00:00:00 2001
From: Martin Kroeker <[email protected]>
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 4a59a2bbf9..a1c6e9c9d7 100644
--- a/lapack-netlib/SRC/dlarrv.f
+++ b/lapack-netlib/SRC/dlarrv.f
@@ -353,7 +353,7 @@ SUBROUTINE DLARRV( N, VL, VU, D, L, PIVMIN,
*
* Quick return if possible
*
- IF( N.LE.0 ) THEN
+ IF( (N.LE.0).OR.(M.LE.0) ) THEN
RETURN
END IF
*

From ddb0ff5353637bb5f5ad060c9620e334c143e3d7 Mon Sep 17 00:00:00 2001
From: Martin Kroeker <[email protected]>
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 04519fde8c..9448b2fd92 100644
--- a/lapack-netlib/SRC/slarrv.f
+++ b/lapack-netlib/SRC/slarrv.f
@@ -353,7 +353,7 @@ SUBROUTINE SLARRV( N, VL, VU, D, L, PIVMIN,
*
* Quick return if possible
*
- IF( N.LE.0 ) THEN
+ IF( (N.LE.0).OR.(M.LE.0) ) THEN
RETURN
END IF
*

From 337b65133df174796794871b3988cd03426e6d41 Mon Sep 17 00:00:00 2001
From: Martin Kroeker <[email protected]>
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 23976dbefe..8d10e3c2e3 100644
--- a/lapack-netlib/SRC/zlarrv.f
+++ b/lapack-netlib/SRC/zlarrv.f
@@ -351,7 +351,7 @@ SUBROUTINE ZLARRV( N, VL, VU, D, L, PIVMIN,
*
* Quick return if possible
*
- IF( N.LE.0 ) THEN
+ IF( (N.LE.0).OR.(M.LE.0) ) THEN
RETURN
END IF
*

0 comments on commit e9bcd98

Please sign in to comment.