m4ri: update to 20250128.
This commit is contained in:
parent
ebae1500f3
commit
2d18d6d55a
@ -4251,7 +4251,7 @@ libpolys-4.4.0.so singular-4.4.0_1
|
|||||||
libsingular_resources-4.4.0.so singular-4.4.0_1
|
libsingular_resources-4.4.0.so singular-4.4.0_1
|
||||||
libbrial.so.3 brial-1.2.10_1
|
libbrial.so.3 brial-1.2.10_1
|
||||||
libbrial_groebner.so.3 brial-1.2.10_1
|
libbrial_groebner.so.3 brial-1.2.10_1
|
||||||
libm4ri-0.0.20200125.so m4ri-20200125_1
|
libm4ri.so.1 m4ri-20250128_1
|
||||||
libm4rie-0.0.20200125.so m4rie-20200125_1
|
libm4rie-0.0.20200125.so m4rie-20200125_1
|
||||||
libptytty.so.0 libptytty-2.0_1
|
libptytty.so.0 libptytty-2.0_1
|
||||||
libcoeurl.so.0.3 coeurl-0.3.0_1
|
libcoeurl.so.0.3 coeurl-0.3.0_1
|
||||||
|
45
srcpkgs/m4ri/patches/28-fix-overflow-32bit.patch
Normal file
45
srcpkgs/m4ri/patches/28-fix-overflow-32bit.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
From b178ed36bdd841a76b6595edb77631886e099406 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
|
||||||
|
Date: Mon, 3 Feb 2025 17:19:37 -0300
|
||||||
|
Subject: [PATCH] Fix overflows in `mzd_init()`
|
||||||
|
|
||||||
|
---
|
||||||
|
m4ri/mmc.h | 4 ++++
|
||||||
|
m4ri/mzd.c | 5 ++---
|
||||||
|
2 files changed, 6 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/m4ri/mmc.h b/m4ri/mmc.h
|
||||||
|
index e6db4ca..3e97391 100644
|
||||||
|
--- a/m4ri/mmc.h
|
||||||
|
+++ b/m4ri/mmc.h
|
||||||
|
@@ -72,6 +72,10 @@ typedef struct _mm_block {
|
||||||
|
* \return Pointer to allocated memory block.
|
||||||
|
*/
|
||||||
|
static inline void *m4ri_mmc_calloc(size_t count, size_t size) {
|
||||||
|
+ if (size && count > SIZE_MAX/size) {
|
||||||
|
+ m4ri_die("m4ri_mmc_calloc: overflow in multiplication\n");
|
||||||
|
+ return NULL; /* unreachable */
|
||||||
|
+ }
|
||||||
|
size_t total_size = count * size;
|
||||||
|
void *ret = m4ri_mmc_malloc(total_size);
|
||||||
|
memset((char *)ret, 0, total_size);
|
||||||
|
diff --git a/m4ri/mzd.c b/m4ri/mzd.c
|
||||||
|
index ba04b7c..ac62c5c 100644
|
||||||
|
--- a/m4ri/mzd.c
|
||||||
|
+++ b/m4ri/mzd.c
|
||||||
|
@@ -144,13 +144,12 @@ mzd_t *mzd_init(rci_t r, rci_t c) {
|
||||||
|
mzd_t *A = mzd_t_malloc();
|
||||||
|
A->nrows = r;
|
||||||
|
A->ncols = c;
|
||||||
|
- A->width = (c + m4ri_radix - 1) / m4ri_radix;
|
||||||
|
+ A->width = c > 0 ? (c - 1) / m4ri_radix + 1 : 0;
|
||||||
|
A->rowstride = ((A->width & 1) == 0) ? A->width : A->width + 1;
|
||||||
|
A->high_bitmask = __M4RI_LEFT_BITMASK(c % m4ri_radix);
|
||||||
|
A->flags = (A->high_bitmask != m4ri_ffff) ? mzd_flag_nonzero_excess : 0;
|
||||||
|
if (r && c) {
|
||||||
|
- size_t block_words = r * A->rowstride;
|
||||||
|
- A->data = m4ri_mmc_calloc(block_words, sizeof(word));
|
||||||
|
+ A->data = m4ri_mmc_calloc(r, sizeof(word) * A->rowstride);
|
||||||
|
} else {
|
||||||
|
A->data = NULL;
|
||||||
|
}
|
@ -1,11 +0,0 @@
|
|||||||
--- a/tests/Makefile.in 2020-01-25 01:34:59.000000000 -0300
|
|
||||||
+++ b/tests/Makefile.in 2021-11-10 08:13:46.505793446 -0300
|
|
||||||
@@ -609,7 +609,7 @@
|
|
||||||
TOPBUILDDIR = $(builddir)/..
|
|
||||||
DEFINES =
|
|
||||||
# include TOPBUILDIR for m4ri_config.h
|
|
||||||
-AM_CFLAGS = -I$(TOPSRCDIR) -I$(TOPBUILDDIR) -D_XOPEN_SOURCE=600 $(DEFINES) @OPENMP_CFLAGS@ @PAPI_CFLAGS@
|
|
||||||
+AM_CFLAGS = -I$(TOPSRCDIR) -I$(TOPBUILDDIR) -D_XOPEN_SOURCE=600 $(DEFINES) $(SIMD_CFLAGS) $(OPENMP_CFLAGS) $(PAPI_CFLAGS)
|
|
||||||
STAGEDIR := $(realpath -s $(TOPBUILDDIR)/.libs)
|
|
||||||
AM_LDFLAGS = -L$(STAGEDIR) -Wl,-rpath,$(STAGEDIR) -lm4ri $(LIBM) @PAPI_LDFLAGS@ @PAPI_LIBS@ -no-install
|
|
||||||
test_smallops_SOURCES = test_smallops.c testing.c testing.h
|
|
@ -1,17 +1,24 @@
|
|||||||
# Template file for 'm4ri'
|
# Template file for 'm4ri'
|
||||||
pkgname=m4ri
|
pkgname=m4ri
|
||||||
version=20200125
|
version=20250128
|
||||||
revision=2
|
revision=1
|
||||||
build_style=gnu-configure
|
build_style=gnu-configure
|
||||||
configure_args="--enable-openmp ax_cv_have_sse3_ext=no ax_cv_have_ssse3_ext=no"
|
# use defaults for cache sizes instead of build machine
|
||||||
|
configure_args="--enable-openmp --with-cachesize=0:0:0"
|
||||||
hostmakedepends="pkg-config"
|
hostmakedepends="pkg-config"
|
||||||
makedepends="libgomp-devel libpng-devel"
|
makedepends="libgomp-devel libpng-devel"
|
||||||
short_desc="Library for fast arithmetic with dense matrices over GF(2)"
|
short_desc="Library for fast arithmetic with dense matrices over GF(2)"
|
||||||
maintainer="Eloi Torrents <eloitorrentsj@gmail.com>"
|
maintainer="Eloi Torrents <eloitor@duck.com>"
|
||||||
license="GPL-2.0-or-later"
|
license="GPL-2.0-or-later"
|
||||||
homepage="https://bitbucket.org/malb/m4ri"
|
homepage="https://github.com/malb/m4ri"
|
||||||
distfiles="https://bitbucket.org/malb/m4ri/downloads/${pkgname}-${version}.tar.gz"
|
changelog="https://github.com/malb/m4ri#history"
|
||||||
checksum=0dfb34aed351882a0f2281535ea6f81c690a5efeb14edab131d9ba0dffe44863
|
distfiles="https://github.com/malb/m4ri/releases/download/${version}/m4ri-${version}.tar.gz"
|
||||||
|
checksum=b4098db651483c0e1506c16f79091eba02f41dadbacf1bb25be8eb97e5515f96
|
||||||
|
|
||||||
|
pre_check() {
|
||||||
|
# the testsuite is very slow when run in parallel!
|
||||||
|
unset makejobs
|
||||||
|
}
|
||||||
|
|
||||||
m4ri-devel_package() {
|
m4ri-devel_package() {
|
||||||
short_desc+=" - development files"
|
short_desc+=" - development files"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user