Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libm4ri for openSUSE:Factory checked 
in at 2025-12-08 11:55:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libm4ri (Old)
 and      /work/SRC/openSUSE:Factory/.libm4ri.new.1939 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libm4ri"

Mon Dec  8 11:55:45 2025 rev:12 rq:1321441 version:20251207

Changes:
--------
--- /work/SRC/openSUSE:Factory/libm4ri/libm4ri.changes  2025-02-10 
18:13:24.461765554 +0100
+++ /work/SRC/openSUSE:Factory/.libm4ri.new.1939/libm4ri.changes        
2025-12-08 11:56:37.308192839 +0100
@@ -1,0 +2,14 @@
+Sun Dec  7 13:03:04 UTC 2025 - Jan Engelhardt <[email protected]>
+
+- Update to release 20251207
+  * This release fixes compilation on non-Linux and non-x86 systems
+
+-------------------------------------------------------------------
+Sat Dec  6 11:47:36 UTC 2025 - Jan Engelhardt <[email protected]>
+
+- Update to release 20251206
+  * Fix overflows in mzd_init()
+  * Avoid macro expansion producing 'defined' has undefined behavior
+  * Correct L3 Detection
+
+-------------------------------------------------------------------

Old:
----
  m4ri-20250128.tar.gz

New:
----
  m4ri-20251207.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libm4ri.spec ++++++
--- /var/tmp/diff_new_pack.AkU8jk/_old  2025-12-08 11:56:38.076225016 +0100
+++ /var/tmp/diff_new_pack.AkU8jk/_new  2025-12-08 11:56:38.076225016 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package libm4ri
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           libm4ri
-Version:        20250128
+Version:        20251207
 %define lname  libm4ri1
 Release:        0
 Summary:        Library for linear arithmetic over GF(2)

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.AkU8jk/_old  2025-12-08 11:56:38.120226859 +0100
+++ /var/tmp/diff_new_pack.AkU8jk/_new  2025-12-08 11:56:38.132227361 +0100
@@ -1,5 +1,5 @@
-mtime: 1739137941
-commit: d88b9891fb358eb8f78d855273f862c675ea3b31adb14f17ba40b71ec3e3d720
+mtime: 1765112615
+commit: d27fb83bb5a5883b5068163ce078898dcbe1c5667a9b504c878282fcbfd05576
 url: https://src.opensuse.org/jengelh/libm4ri
 revision: master
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2025-12-07 14:04:05.000000000 +0100
@@ -0,0 +1 @@
+.osc

++++++ m4ri-20250128.tar.gz -> m4ri-20251207.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/m4ri-20250128/Makefile.am 
new/m4ri-20251207/Makefile.am
--- old/m4ri-20250128/Makefile.am       2025-01-28 10:48:24.000000000 +0100
+++ new/m4ri-20251207/Makefile.am       2025-12-07 11:21:29.000000000 +0100
@@ -1,6 +1,7 @@
 AUTOMAKE_OPTIONS = foreign subdir-objects
 ACLOCAL_AMFLAGS = -I m4
 
+AM_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir) -iquote$(top_builddir)/m4ri
 AM_CFLAGS=${SIMD_FLAGS} ${OPENMP_CFLAGS} ${DEBUG_FLAGS} ${LIBPNG_CFLAGS}
 
 lib_LTLIBRARIES = libm4ri.la
@@ -57,7 +58,7 @@
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = m4ri.pc
 
-libm4ri_la_LDFLAGS = -version-info @LT_VERSION@ -no-undefined
+libm4ri_la_LDFLAGS = -version-info @LT_VERSION@ -no-undefined 
@M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS@
 libm4ri_la_LIBADD = $(LIBPNG_LIBADD) $(LIBM)
 
 SUBDIRS = . tests
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/m4ri-20250128/Makefile.in 
new/m4ri-20251207/Makefile.in
--- old/m4ri-20250128/Makefile.in       2025-01-28 10:48:33.000000000 +0100
+++ new/m4ri-20251207/Makefile.in       2025-12-07 11:21:44.000000000 +0100
@@ -175,7 +175,7 @@
 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 am__v_at_0 = @
 am__v_at_1 = 
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/m4ri
+DEFAULT_INCLUDES = 
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__maybe_remake_depfiles = depfiles
 am__depfiles_remade = m4ri/$(DEPDIR)/brilliantrussian.Plo \
@@ -353,11 +353,13 @@
 M4RI_DEBUG_MZD = @M4RI_DEBUG_MZD@
 M4RI_ENABLE_MMC = @M4RI_ENABLE_MMC@
 M4RI_ENABLE_MZD_CACHE = @M4RI_ENABLE_MZD_CACHE@
+M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS = @M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS@
 M4RI_HAVE_LIBPNG = @M4RI_HAVE_LIBPNG@
 M4RI_HAVE_MM_MALLOC = @M4RI_HAVE_MM_MALLOC@
 M4RI_HAVE_OPENMP = @M4RI_HAVE_OPENMP@
 M4RI_HAVE_POSIX_MEMALIGN = @M4RI_HAVE_POSIX_MEMALIGN@
-M4RI_HAVE_SSE2 = @M4RI_HAVE_SSE2@
+M4RI_INSTALL_FLAGS = @M4RI_INSTALL_FLAGS@
+M4RI_SSE2_ENABLED = @M4RI_SSE2_ENABLED@
 M4RI_USE_PNG_PC = @M4RI_USE_PNG_PC@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -449,6 +451,7 @@
 top_srcdir = @top_srcdir@
 AUTOMAKE_OPTIONS = foreign subdir-objects
 ACLOCAL_AMFLAGS = -I m4
+AM_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir) -iquote$(top_builddir)/m4ri
 AM_CFLAGS = ${SIMD_FLAGS} ${OPENMP_CFLAGS} ${DEBUG_FLAGS} ${LIBPNG_CFLAGS}
 lib_LTLIBRARIES = libm4ri.la
 libm4ri_la_SOURCES = \
@@ -499,7 +502,7 @@
 EXTRA_DIST = m4ri/Doxyfile
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = m4ri.pc
-libm4ri_la_LDFLAGS = -version-info @LT_VERSION@ -no-undefined
+libm4ri_la_LDFLAGS = -version-info @LT_VERSION@ -no-undefined 
@M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS@
 libm4ri_la_LIBADD = $(LIBPNG_LIBADD) $(LIBM)
 SUBDIRS = . tests
 DIST_SUBDIRS = $(SUBDIRS) bench
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/m4ri-20250128/README.md new/m4ri-20251207/README.md
--- old/m4ri-20250128/README.md 2025-01-28 10:48:24.000000000 +0100
+++ new/m4ri-20251207/README.md 2025-12-07 11:21:29.000000000 +0100
@@ -4,19 +4,19 @@
 
 * basic arithmetic with dense matrices over F2 (addition, equality testing, 
stacking, augmenting, sub-matrices, randomisation);
 
-* asymptotically fast $O(n^{log_2 7})$ matrix multiplication via the Method of 
the Four Russians (M4RM) & Strassen-Winograd algorithm;
+* asymptotically fast $O(n^{\log_2 7})$ matrix multiplication via the Method 
of the Four Russians (M4RM) & Strassen-Winograd algorithm;
 
-* asymptotically fast $O(n^{log_2 7})$ PLE factorisation (Gaussian 
elimination, system solving, …);
+* asymptotically fast $O(n^{\log_2 7})$ PLE factorisation (Gaussian 
elimination, system solving, …);
 
-* fast row echelon form computation and matrix inversion via the Method of the 
Four Russians (M4RI, $O(n^{3/log n})$);
+* fast $O(n^{3/\log n})$ row echelon form computation and matrix inversion via 
the Method of the Four Russians (M4RI);
 
 * asymptotically fast Triangular System solving with Matrices (upper left, 
lower left, upper right, lower right),
 
 * support for the x86/x86_64 SSE2 instruction set where available;
 
-* preliminary support for parallelisation on shared memory systems via OpenMP;
+* and preliminary support for parallelisation on shared memory systems via 
OpenMP.
 
-* and support for Linux, Solaris, and OS X (GCC).
+We support M4RI on Linux. Support for Windows (MSYS2/MinGW) and OS X is 
provided on a best effort basis and may disappear any time.
 
 See [Further Reading](https://bitbucket.org/malb/m4ri/wiki/Further%20Reading) 
for implemented algorithms.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/m4ri-20250128/bench/Makefile.in 
new/m4ri-20251207/bench/Makefile.in
--- old/m4ri-20250128/bench/Makefile.in 2025-01-28 10:48:33.000000000 +0100
+++ new/m4ri-20251207/bench/Makefile.in 2025-12-07 11:21:44.000000000 +0100
@@ -174,7 +174,7 @@
 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 am__v_at_0 = @
 am__v_at_1 = 
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/m4ri
+DEFAULT_INCLUDES = 
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__maybe_remake_depfiles = depfiles
 am__depfiles_remade = ./$(DEPDIR)/bench_elimination.Po \
@@ -291,11 +291,13 @@
 M4RI_DEBUG_MZD = @M4RI_DEBUG_MZD@
 M4RI_ENABLE_MMC = @M4RI_ENABLE_MMC@
 M4RI_ENABLE_MZD_CACHE = @M4RI_ENABLE_MZD_CACHE@
+M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS = @M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS@
 M4RI_HAVE_LIBPNG = @M4RI_HAVE_LIBPNG@
 M4RI_HAVE_MM_MALLOC = @M4RI_HAVE_MM_MALLOC@
 M4RI_HAVE_OPENMP = @M4RI_HAVE_OPENMP@
 M4RI_HAVE_POSIX_MEMALIGN = @M4RI_HAVE_POSIX_MEMALIGN@
-M4RI_HAVE_SSE2 = @M4RI_HAVE_SSE2@
+M4RI_INSTALL_FLAGS = @M4RI_INSTALL_FLAGS@
+M4RI_SSE2_ENABLED = @M4RI_SSE2_ENABLED@
 M4RI_USE_PNG_PC = @M4RI_USE_PNG_PC@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/m4ri-20250128/configure new/m4ri-20251207/configure
--- old/m4ri-20250128/configure 2025-01-28 10:48:33.000000000 +0100
+++ new/m4ri-20251207/configure 2025-12-07 11:21:43.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for m4ri 20250128.
+# Generated by GNU Autoconf 2.71 for m4ri 20251207.
 #
 #
 # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
@@ -618,8 +618,8 @@
 # Identity of this package.
 PACKAGE_NAME='m4ri'
 PACKAGE_TARNAME='m4ri'
-PACKAGE_VERSION='20250128'
-PACKAGE_STRING='m4ri 20250128'
+PACKAGE_VERSION='20251207'
+PACKAGE_STRING='m4ri 20251207'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -686,7 +686,9 @@
 OPENMP_CFLAGS
 M4RI_HAVE_POSIX_MEMALIGN
 M4RI_HAVE_MM_MALLOC
-M4RI_HAVE_SSE2
+M4RI_SSE2_ENABLED
+M4RI_INSTALL_FLAGS
+M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS
 LIBM
 LT_SYS_LIBRARY_PATH
 OTOOL64
@@ -1396,7 +1398,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures m4ri 20250128 to adapt to many kinds of systems.
+\`configure' configures m4ri 20251207 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1467,7 +1469,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of m4ri 20250128:";;
+     short | recursive ) echo "Configuration of m4ri 20251207:";;
    esac
   cat <<\_ACEOF
 
@@ -1600,7 +1602,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-m4ri configure 20250128
+m4ri configure 20251207
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1861,7 +1863,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by m4ri $as_me 20250128, which was
+It was created by m4ri $as_me 20251207, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -2618,7 +2620,7 @@
 
 
 # See 
http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
-LT_VERSION=1:0:0
+LT_VERSION=1:1:0
 
 
 
@@ -3213,7 +3215,7 @@
 
 # Define the identity of the package.
  PACKAGE='m4ri'
- VERSION='20250128'
+ VERSION='20251207'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -13772,6 +13774,20 @@
 
 
 
+# Check for MinGW to add specific linker flags for DLL symbol exporting
+case "$host_os" in
+  mingw*)
+    M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS="-Wl,--export-all-symbols"
+    M4RI_INSTALL_FLAGS="-no-fast-install"
+    ;;
+  *)
+    M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS=""
+    M4RI_INSTALL_FLAGS="-no-install"
+    ;;
+esac
+
+
+
 # SSE2 support
 # Check whether --enable-sse2 was given.
 if test ${enable_sse2+y}
@@ -13793,9 +13809,9 @@
 
 if test "x$enable_sse2" = "xno"
 then :
-  M4RI_HAVE_SSE2=0
+  M4RI_SSE2_ENABLED=0
 else $as_nop
-  M4RI_HAVE_SSE2="(defined(__SSE2__) && __SSE2__)"
+  M4RI_SSE2_ENABLED=1
 fi
 
 
@@ -14529,8 +14545,9 @@
 
     ax_l1_size=
     ax_l2_size=
+    ax_l3_size=
 
-    #Check if the variable is present
+    # Linux sysfs path
     if test -e /sys/devices/system/cpu/cpu0/cache/index0/size; then
         for idx in `seq 0 3`; do
             if test -e /sys/devices/system/cpu/cpu0/cache/index$idx/size ; then
@@ -14545,8 +14562,8 @@
         ax_l3_size=$CPU0_L3_CACHE
 
     else
-      if test "x$ax_cv_cpu_vendor" != "xUnknown"; then
-        #Or use CPUID
+        # Try CPUID (mostly for Linux without sysfs or during 
cross-compilation)
+        if test "x$ax_cv_cpu_vendor" != "xUnknown" && test 
"x$ax_cv_cpu_vendor" != "xunknown" && test "x$ax_cv_cpu_vendor" != "xIntel"; 
then
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -14609,8 +14626,8 @@
 
 
 
-       cpu_exthigh=`echo $ax_cv_gcc_x86_cpuid_0x80000000 | cut -d ":" -f 1`
-       if test "x$cpu_exthi" > "x80000004"; then
+            cpu_exthigh=`echo $ax_cv_gcc_x86_cpuid_0x80000000 | cut -d ":" -f 
1`
+            if test "x$cpu_exthigh" \> "x80000004"; then
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -14672,12 +14689,12 @@
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
- # For L1 cache
-          l1_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000005 | cut -d ":" -f 4`
-          ax_l1_size=$((0x$l1_hexval >> 24))
-        fi
 
-       if test "x$cpu_exthi" > "x80000005"; then
+                l1_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000005 | cut -d ":" 
-f 4`
+                ax_l1_size=$((0x$l1_hexval >> 24))
+            fi
+
+            if test "x$cpu_exthigh" \> "x80000005"; then
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -14739,113 +14756,67 @@
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
- # For L2 cache
-          l2_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000006 | cut -d ":" -f 3`
-          ax_l2_size=$((0x$l2_hexval >> 16))
-        fi
 
-       if test "x$cpu_exthi" > "x80000005"; then
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext 
$LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 
0x80000006 output" >&5
-printf %s "checking for x86 cpuid 0x80000006 output... " >&6; }
-if test ${ax_cv_gcc_x86_cpuid_0x80000006+y}
-then :
-  printf %s "(cached) " >&6
-else $as_nop
-  if test "$cross_compiling" = yes
-then :
-  ax_cv_gcc_x86_cpuid_0x80000006=unknown
-else $as_nop
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main (void)
-{
-
-     int op = 0x80000006, level = 0, eax, ebx, ecx, edx;
-     FILE *f;
-      __asm__ __volatile__ ("xchg %%ebx, %1\n"
-        "cpuid\n"
-        "xchg %%ebx, %1\n"
-        : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx)
-        : "a" (op), "2" (level));
-
-     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
-     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
-     fclose(f);
-     return 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"
-then :
-  ax_cv_gcc_x86_cpuid_0x80000006=`cat conftest_cpuid`; rm -f conftest_cpuid
-else $as_nop
-  ax_cv_gcc_x86_cpuid_0x80000006=unknown; rm -f conftest_cpuid
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: 
$ax_cv_gcc_x86_cpuid_0x80000006" >&5
-printf "%s\n" "$ax_cv_gcc_x86_cpuid_0x80000006" >&6; }
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext 
$LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+                l2_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000006 | cut -d ":" 
-f 3`
+                ax_l2_size=$((0x$l2_hexval >> 16))
 
+                # L3 info in EDX (bits 31:18) → 512-byte blocks (AMD only)
+                l3_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000006 | cut -d ":" 
-f 4`
+                ax_l3_size=$(( (0x$l3_hexval >> 18) * 512 ))
+            fi
+        fi
 
- # For L3 cache
-          l2_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000006 | cut -d ":" -f 4`
-          ax_l2_size=$((0x$l2_hexval >> 18))*512
+        # sysctl fallback
+        sysctl_exe=
+        if test -x /usr/sbin/sysctl; then
+            sysctl_exe=/usr/sbin/sysctl
+        elif test -x /sbin/sysctl; then
+            sysctl_exe=/sbin/sysctl
         fi
 
-      fi
+        if test -n "$sysctl_exe"; then
+            # L1
+            if test -z "$ax_l1_size" -o "$ax_l1_size" = "0"; then
+                sysctl_out=`$sysctl_exe -n hw.l1dcachesize 2>/dev/null`
+                if test -n "$sysctl_out"; then
+                    ax_l1_size=$(($sysctl_out / 1024))
+                fi
+            fi
+            if test -z "$ax_l1_size" -o "$ax_l1_size" = "0"; then
+                sysctl_out=`$sysctl_exe -n hw.l1icachesize 2>/dev/null`
+                if test -n "$sysctl_out"; then
+                    ax_l1_size=$(($sysctl_out / 1024))
+                fi
+            fi
+            if test -z "$ax_l1_size" -o "$ax_l1_size" = "0"; then
+                sysctl_out=`$sysctl_exe -n hw.l1cachesize 2>/dev/null`
+                if test -n "$sysctl_out"; then
+                    ax_l1_size=$(($sysctl_out / 1024))
+                fi
+            fi
 
-      #Or use sysctl
-      sysctl_exe=
-      if test -x /usr/sbin/sysctl ; then
-       sysctl_exe=/usr/sbin/sysctl
-      elif test -x /sbin/sysctl ; then
-       sysctl_exe=/sbin/sysctl
-      fi
-      if test -n "$sysctl_exe"; then
-       if test -z "$ax_l2_size" -o "$ax_l2_size" = "0"; then
-          sysctl_out=`$sysctl_exe -n hw.l2cachesize 2>/dev/null`;
-          if test ! -z "$sysctl_out"; then
-            ax_l2_size=$(($sysctl_out / 1024))
-          fi;
+            # L2
+            if test -z "$ax_l2_size" -o "$ax_l2_size" = "0"; then
+                sysctl_out=`$sysctl_exe -n hw.l2cachesize 2>/dev/null`
+                if test -n "$sysctl_out"; then
+                    ax_l2_size=$(($sysctl_out / 1024))
+                fi
+            fi
 
-       fi
-       if test -z "$ax_l1_size" -o "$ax_l1_size" = "0" ; then
-          sysctl_out=`$sysctl_exe -n hw.l1dcachesize 2>/dev/null`;
-          if test ! -z "$sysctl_out"; then
-           ax_l1_size=$(($sysctl_out / 1024))
-          fi;
-       fi
-       if test -z "$ax_l1_size" -o "ax_l1_size" = "0" ; then
-          sysctl_out=`$sysctl_exe -n hw.l1cachesize 2>/dev/null`;
-          if test ! -z "$sysctl_out"; then
-             ax_l1_size=$(($sysctl_out / 1024))
-          fi;
+            # L3
+            if test -z "$ax_l3_size" -o "$ax_l3_size" = "0"; then
+                sysctl_out=`$sysctl_exe -n hw.l3cachesize 2>/dev/null`
+                if test -n "$sysctl_out"; then
+                    ax_l3_size=$(($sysctl_out / 1024))
+                fi
+            fi
         fi
-      fi
     fi
 
+    # Final fallbacks
     test -z "$ax_l1_size" && ax_l1_size=0
     test -z "$ax_l2_size" && ax_l2_size=0
-    test -z "$ax_l3_size" && ax_l3_size=$ax_l2_size
+    test -z "$ax_l3_size" && ax_l3_size=0
 
     # Keep only digits if there is a unit (ie 1024K -> 1024) and convert in 
Bytes
     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the L1 cache size" 
>&5
@@ -15537,7 +15508,7 @@
 printf "%s\n" "#define M4RI_BUILDING_M4RI 1" >>confdefs.h
 
 
-RELEASE="20250128"
+RELEASE="20251207"
 
 
 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} 
sets \$(MAKE)" >&5
@@ -16106,7 +16077,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by m4ri $as_me 20250128, which was
+This file was extended by m4ri $as_me 20251207, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16174,7 +16145,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-m4ri config.status 20250128
+m4ri config.status 20251207
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/m4ri-20250128/configure.ac 
new/m4ri-20251207/configure.ac
--- old/m4ri-20250128/configure.ac      2025-01-28 10:48:24.000000000 +0100
+++ new/m4ri-20251207/configure.ac      2025-12-07 11:21:29.000000000 +0100
@@ -1,14 +1,14 @@
-AC_INIT([m4ri],[20250128])
+AC_INIT([m4ri],[20251207])
 
 # See 
http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
-LT_VERSION=1:0:0
+LT_VERSION=1:1:0
 AC_SUBST(LT_VERSION)
 
 AC_CANONICAL_HOST
 
 AC_CONFIG_SRCDIR(m4ri/brilliantrussian.c)
 
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE([nostdinc])
 
 dnl Include maintainer mode targets.
 AM_MAINTAINER_MODE
@@ -34,6 +34,20 @@
 LT_LIB_M
 AC_SUBST(LIBM)
 
+# Check for MinGW to add specific linker flags for DLL symbol exporting
+case "$host_os" in
+  mingw*)
+    M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS="-Wl,--export-all-symbols"
+    M4RI_INSTALL_FLAGS="-no-fast-install"
+    ;;
+  *)
+    M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS=""
+    M4RI_INSTALL_FLAGS="-no-install"
+    ;;
+esac
+AC_SUBST(M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS)
+AC_SUBST(M4RI_INSTALL_FLAGS)
+
 # SSE2 support
 AC_ARG_ENABLE([sse2],
         AS_HELP_STRING([--disable-sse2], [don't use SSE2 instruction set.]),
@@ -46,9 +60,9 @@
 ])
 
 AS_IF([test "x$enable_sse2" = "xno"],
-    [M4RI_HAVE_SSE2=0],
-    [M4RI_HAVE_SSE2="(defined(__SSE2__) && __SSE2__)"])
-AC_SUBST(M4RI_HAVE_SSE2)
+    [M4RI_SSE2_ENABLED=0],
+    [M4RI_SSE2_ENABLED=1])
+AC_SUBST(M4RI_SSE2_ENABLED)
 
 AC_ARG_WITH(papi,
     AS_HELP_STRING([--with-papi@<:@=PATH@:>@], [The PAPI install prefix, if 
configure can't find it.]),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/m4ri-20250128/m4/ax_cache_size.m4 
new/m4ri-20251207/m4/ax_cache_size.m4
--- old/m4ri-20250128/m4/ax_cache_size.m4       2025-01-28 10:48:24.000000000 
+0100
+++ new/m4ri-20251207/m4/ax_cache_size.m4       2025-12-07 11:21:29.000000000 
+0100
@@ -41,8 +41,9 @@
 
     ax_l1_size=
     ax_l2_size=
+    ax_l3_size=
 
-    #Check if the variable is present
+    # Linux sysfs path
     if test -e /sys/devices/system/cpu/cpu0/cache/index0/size; then
         for idx in `seq 0 3`; do
             if test -e /sys/devices/system/cpu/cpu0/cache/index$idx/size ; then
@@ -57,63 +58,78 @@
         ax_l3_size=$CPU0_L3_CACHE
 
     else
-      if test "x$ax_cv_cpu_vendor" != "xUnknown"; then
-        #Or use CPUID
-       AX_GCC_X86_CPUID(0x80000000)
-       cpu_exthigh=`echo $ax_cv_gcc_x86_cpuid_0x80000000 | cut -d ":" -f 1`
-       if test "x$cpu_exthi" > "x80000004"; then
-          AX_GCC_X86_CPUID(0x80000005) # For L1 cache
-          l1_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000005 | cut -d ":" -f 4`
-          ax_l1_size=$((0x$l1_hexval >> 24))
-        fi
+        # Try CPUID (mostly for Linux without sysfs or during 
cross-compilation)
+        if test "x$ax_cv_cpu_vendor" != "xUnknown" && test 
"x$ax_cv_cpu_vendor" != "xunknown" && test "x$ax_cv_cpu_vendor" != "xIntel"; 
then
+            AX_GCC_X86_CPUID(0x80000000)
+            cpu_exthigh=`echo $ax_cv_gcc_x86_cpuid_0x80000000 | cut -d ":" -f 
1`
+            if test "x$cpu_exthigh" \> "x80000004"; then
+                AX_GCC_X86_CPUID(0x80000005)
+                l1_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000005 | cut -d ":" 
-f 4`
+                ax_l1_size=$((0x$l1_hexval >> 24))
+            fi
 
-       if test "x$cpu_exthi" > "x80000005"; then
-          AX_GCC_X86_CPUID(0x80000006) # For L2 cache
-          l2_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000006 | cut -d ":" -f 3`
-          ax_l2_size=$((0x$l2_hexval >> 16))
+            if test "x$cpu_exthigh" \> "x80000005"; then
+                AX_GCC_X86_CPUID(0x80000006)
+                l2_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000006 | cut -d ":" 
-f 3`
+                ax_l2_size=$((0x$l2_hexval >> 16))
+
+                # L3 info in EDX (bits 31:18) → 512-byte blocks (AMD only)
+                l3_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000006 | cut -d ":" 
-f 4`
+                ax_l3_size=$(( (0x$l3_hexval >> 18) * 512 ))
+            fi
         fi
 
-       if test "x$cpu_exthi" > "x80000005"; then
-          AX_GCC_X86_CPUID(0x80000006) # For L3 cache
-          l2_hexval=`echo $ax_cv_gcc_x86_cpuid_0x80000006 | cut -d ":" -f 4`
-          ax_l2_size=$((0x$l2_hexval >> 18))*512
+        # sysctl fallback
+        sysctl_exe=
+        if test -x /usr/sbin/sysctl; then
+            sysctl_exe=/usr/sbin/sysctl
+        elif test -x /sbin/sysctl; then
+            sysctl_exe=/sbin/sysctl
         fi
 
-      fi
+        if test -n "$sysctl_exe"; then
+            # L1
+            if test -z "$ax_l1_size" -o "$ax_l1_size" = "0"; then
+                sysctl_out=`$sysctl_exe -n hw.l1dcachesize 2>/dev/null`
+                if test -n "$sysctl_out"; then
+                    ax_l1_size=$(($sysctl_out / 1024))
+                fi
+            fi
+            if test -z "$ax_l1_size" -o "$ax_l1_size" = "0"; then
+                sysctl_out=`$sysctl_exe -n hw.l1icachesize 2>/dev/null`
+                if test -n "$sysctl_out"; then
+                    ax_l1_size=$(($sysctl_out / 1024))
+                fi
+            fi
+            if test -z "$ax_l1_size" -o "$ax_l1_size" = "0"; then
+                sysctl_out=`$sysctl_exe -n hw.l1cachesize 2>/dev/null`
+                if test -n "$sysctl_out"; then
+                    ax_l1_size=$(($sysctl_out / 1024))
+                fi
+            fi
+
+            # L2
+            if test -z "$ax_l2_size" -o "$ax_l2_size" = "0"; then
+                sysctl_out=`$sysctl_exe -n hw.l2cachesize 2>/dev/null`
+                if test -n "$sysctl_out"; then
+                    ax_l2_size=$(($sysctl_out / 1024))
+                fi
+            fi
 
-      #Or use sysctl
-      sysctl_exe=
-      if test -x /usr/sbin/sysctl ; then
-       sysctl_exe=/usr/sbin/sysctl
-      elif test -x /sbin/sysctl ; then
-       sysctl_exe=/sbin/sysctl
-      fi
-      if test -n "$sysctl_exe"; then
-       if test -z "$ax_l2_size" -o "$ax_l2_size" = "0"; then
-          sysctl_out=`$sysctl_exe -n hw.l2cachesize 2>/dev/null`;
-          if test ! -z "$sysctl_out"; then
-            ax_l2_size=$(($sysctl_out / 1024))
-          fi;
-
-       fi
-       if test -z "$ax_l1_size" -o "$ax_l1_size" = "0" ; then
-          sysctl_out=`$sysctl_exe -n hw.l1dcachesize 2>/dev/null`;
-          if test ! -z "$sysctl_out"; then
-           ax_l1_size=$(($sysctl_out / 1024))
-          fi;
-       fi
-       if test -z "$ax_l1_size" -o "ax_l1_size" = "0" ; then
-          sysctl_out=`$sysctl_exe -n hw.l1cachesize 2>/dev/null`;
-          if test ! -z "$sysctl_out"; then
-             ax_l1_size=$(($sysctl_out / 1024))
-          fi;
+            # L3
+            if test -z "$ax_l3_size" -o "$ax_l3_size" = "0"; then
+                sysctl_out=`$sysctl_exe -n hw.l3cachesize 2>/dev/null`
+                if test -n "$sysctl_out"; then
+                    ax_l3_size=$(($sysctl_out / 1024))
+                fi
+            fi
         fi
-      fi
     fi
 
+    # Final fallbacks
     test -z "$ax_l1_size" && ax_l1_size=0
     test -z "$ax_l2_size" && ax_l2_size=0
-    test -z "$ax_l3_size" && ax_l3_size=$ax_l2_size
+    test -z "$ax_l3_size" && ax_l3_size=0
 
     # Keep only digits if there is a unit (ie 1024K -> 1024) and convert in 
Bytes
     AC_MSG_CHECKING(the L1 cache size)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/m4ri-20250128/m4ri/Doxyfile 
new/m4ri-20251207/m4ri/Doxyfile
--- old/m4ri-20250128/m4ri/Doxyfile     2025-01-28 10:48:24.000000000 +0100
+++ new/m4ri-20251207/m4ri/Doxyfile     2025-12-07 11:21:29.000000000 +0100
@@ -38,7 +38,7 @@
 # could be handy for archiving the generated documentation or if some version
 # control system is used.
 
-PROJECT_NUMBER         = 20250128
+PROJECT_NUMBER         = 20251207
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/m4ri-20250128/m4ri/io.c new/m4ri-20251207/m4ri/io.c
--- old/m4ri-20250128/m4ri/io.c 2025-01-28 10:48:24.000000000 +0100
+++ new/m4ri-20251207/m4ri/io.c 2025-12-07 11:21:29.000000000 +0100
@@ -23,6 +23,7 @@
 #endif
 
 #include "m4ri_config.h"
+#include <inttypes.h>
 
 #if __M4RI_HAVE_LIBPNG
 #include <png.h>
@@ -299,40 +300,39 @@
   FILE *fh   = fopen(fn, "r");
 
   rci_t m, n;
-  long p       = 0;
-  long nonzero = 0;
+  int p       = 0;
+  int64_t nonzero = 0;
 
   if (!fh) {
     if (verbose) printf("Could not open file '%s' for reading\n", fn);
     return NULL;
   }
 
-  if (fscanf(fh, "%d %d %ld\n%ld\n\n", &m, &n, &p, &nonzero) != 4) {
+  if (fscanf(fh, "%d %d %d\n%" SCNd64 "\n\n", &m, &n, &p, &nonzero) != 4) {
     if (verbose) printf("File '%s' does not seem to be in JCF format.", fn);
     retval = 1;
     goto from_jcf_close_fh;
   }
 
   if (p != 2) {
-    if (verbose) printf("Expected p==2 but found p==%ld\n", p);
+    if (verbose) printf("Expected p==2 but found p==%d\n", p);
     retval = 1;
     goto from_jcf_close_fh;
   }
 
   if (verbose)
-    printf("reading %lu x %lu matrix with at most %ld non-zero entries 
(density at most: %6.5f)\n",
-           (unsigned long)m, (unsigned long)n, (unsigned long)nonzero,
-           ((double)nonzero) / ((double)m * n));
+    printf("reading %d x %d matrix with at most %" PRId64 " non-zero entries 
(density at most: %6.5f)\n",
+           m, n, nonzero, ((double)nonzero) / ((double)m * n));
 
   A = mzd_init(m, n);
 
-  long i = -1;
-  long j = 0;
+  rci_t i = -1;
+  rci_t j = 0;
 
-  while (fscanf(fh, "%ld\n", &j) == 1) {
+  while (fscanf(fh, "%d\n", &j) == 1) {
     if (j < 0) { i++, j = -j; }
     if (((j - 1) >= n) || (i >= m))
-      m4ri_die("trying to write to (%ld,%ld) in %ld x %ld matrix\n", i, j - 1, 
m, n);
+      m4ri_die("trying to write to (%d,%d) in %d x %d matrix\n", i, j - 1, m, 
n);
     mzd_write_bit(A, i, j - 1, 1);
   };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/m4ri-20250128/m4ri/m4ri_config.h.in 
new/m4ri-20251207/m4ri/m4ri_config.h.in
--- old/m4ri-20250128/m4ri/m4ri_config.h.in     2025-01-28 10:48:24.000000000 
+0100
+++ new/m4ri-20251207/m4ri/m4ri_config.h.in     2025-12-07 11:21:29.000000000 
+0100
@@ -4,7 +4,11 @@
 // Defines determined during configuration of m4ri.
 #define __M4RI_HAVE_MM_MALLOC          @M4RI_HAVE_MM_MALLOC@
 #define __M4RI_HAVE_POSIX_MEMALIGN     @M4RI_HAVE_POSIX_MEMALIGN@
-#define __M4RI_HAVE_SSE2               @M4RI_HAVE_SSE2@
+#define __M4RI_HAVE_SSE2               0
+#if @M4RI_SSE2_ENABLED@ && defined(__SSE2__) && __SSE2__
+#undef __M4RI_HAVE_SSE2
+#define __M4RI_HAVE_SSE2               1
+#endif
 #define __M4RI_HAVE_OPENMP             @M4RI_HAVE_OPENMP@
 #define __M4RI_CPU_L1_CACHE            @M4RI_CPU_L1_CACHE@
 #define __M4RI_CPU_L2_CACHE            @M4RI_CPU_L2_CACHE@
@@ -25,4 +29,9 @@
 #define __M4RI_ENABLE_MZD_CACHE         @M4RI_ENABLE_MZD_CACHE@
 #define __M4RI_ENABLE_MMC               @M4RI_ENABLE_MMC@
 
+#if defined(__MINGW32__) || defined(__MINGW64__)
+#define random rand
+#define srandom srand
+#endif
+
 #endif // M4RI_M4RI_CONFIG_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/m4ri-20250128/m4ri/misc.h 
new/m4ri-20251207/m4ri/misc.h
--- old/m4ri-20250128/m4ri/misc.h       2025-01-28 10:48:24.000000000 +0100
+++ new/m4ri-20251207/m4ri/misc.h       2025-12-07 11:21:29.000000000 +0100
@@ -138,7 +138,7 @@
  * \brief The number of bits in a word.
  */
 
-static int const m4ri_radix = 64;
+#define m4ri_radix 64
 
 /**
  * \brief The number one as a word.
@@ -418,7 +418,7 @@
  * \param n
  */
 
-#define __M4RI_ALIGNMENT(addr, n) (((unsigned long)(addr)) % (n))
+#define __M4RI_ALIGNMENT(addr, n) (((uintptr_t)(addr)) % (n))
 
 /**
  * \brief Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/m4ri-20250128/m4ri/mmc.h new/m4ri-20251207/m4ri/mmc.h
--- old/m4ri-20250128/m4ri/mmc.h        2025-01-28 10:48:24.000000000 +0100
+++ new/m4ri-20251207/m4ri/mmc.h        2025-12-07 11:21:29.000000000 +0100
@@ -72,6 +72,10 @@
  * \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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/m4ri-20250128/m4ri/mzd.c new/m4ri-20251207/m4ri/mzd.c
--- old/m4ri-20250128/m4ri/mzd.c        2025-01-28 10:48:24.000000000 +0100
+++ new/m4ri-20251207/m4ri/mzd.c        2025-12-07 11:21:29.000000000 +0100
@@ -144,13 +144,12 @@
   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;
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/m4ri-20250128/m4ri/mzd.h new/m4ri-20251207/m4ri/mzd.h
--- old/m4ri-20250128/m4ri/mzd.h        2025-01-28 10:48:24.000000000 +0100
+++ new/m4ri-20251207/m4ri/mzd.h        2025-12-07 11:21:29.000000000 +0100
@@ -557,7 +557,7 @@
     /* Now wide > 1 */
     __m128i *__src     = (__m128i *)src;
     __m128i *__dst     = (__m128i *)dst;
-    __m128i *const eof = (__m128i *)((unsigned long)(src + wide) & ~0xFUL);
+    __m128i *const eof = (__m128i *)((uintptr_t)(src + wide) & 
~(uintptr_t)0xF);
     do {
       __m128i xmm1 = _mm_xor_si128(*__dst, *__src);
       *__dst++     = xmm1;
@@ -936,7 +936,7 @@
     if (__M4RI_ALIGNMENT(a, 16) == 0 && __M4RI_ALIGNMENT(b, 16) == 0) {
       __m128i *a128      = (__m128i *)a;
       __m128i *b128      = (__m128i *)b;
-      const __m128i *eof = (__m128i *)((unsigned long)(a + wide) & ~0xFUL);
+      const __m128i *eof = (__m128i *)((uintptr_t)(a + wide) & 
~(uintptr_t)0xF);
 
       do {
         *a128 = _mm_xor_si128(*a128, *b128);
@@ -1011,7 +1011,7 @@
       __m128i *a128      = (__m128i *)a;
       __m128i *b128      = (__m128i *)b;
       __m128i *c128      = (__m128i *)c;
-      const __m128i *eof = (__m128i *)((unsigned long)(a + wide) & ~0xFUL);
+      const __m128i *eof = (__m128i *)((uintptr_t)(a + wide) & 
~(uintptr_t)0xF);
 
       do {
         *c128 = _mm_xor_si128(*a128, *b128);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/m4ri-20250128/m4ri/xor.h new/m4ri-20251207/m4ri/xor.h
--- old/m4ri-20250128/m4ri/xor.h        2025-01-28 10:48:24.000000000 +0100
+++ new/m4ri-20251207/m4ri/xor.h        2025-12-07 11:21:29.000000000 +0100
@@ -53,7 +53,7 @@
 
   __m128i *__c       = (__m128i *)c;
   __m128i *__t1      = (__m128i *)t1;
-  const __m128i *eof = (__m128i *)((unsigned long)(c + wide) & ~0xFUL);
+  const __m128i *eof = (__m128i *)((uintptr_t)(c + wide) & ~(uintptr_t)0xF);
   __m128i xmm1;
 
   while (__c < eof - 1) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/m4ri-20250128/tests/Makefile.am 
new/m4ri-20251207/tests/Makefile.am
--- old/m4ri-20250128/tests/Makefile.am 2025-01-28 10:48:24.000000000 +0100
+++ new/m4ri-20251207/tests/Makefile.am 2025-12-07 11:21:29.000000000 +0100
@@ -12,10 +12,12 @@
 TOPBUILDDIR = $(builddir)/..
 DEFINES =
 # include TOPBUILDIR for m4ri_config.h
-AM_CFLAGS = -I$(TOPSRCDIR) -I$(TOPBUILDDIR) -D_XOPEN_SOURCE=600 $(DEFINES) 
@OPENMP_CFLAGS@ @PAPI_CFLAGS@ @LIBPNG_CFLAGS@
+AM_CFLAGS = -I$(TOPSRCDIR) -I$(TOPBUILDDIR) -iquote$(TOPBUILDDIR)/m4ri 
-D_XOPEN_SOURCE=600 $(DEFINES) @OPENMP_CFLAGS@ @PAPI_CFLAGS@ @LIBPNG_CFLAGS@
 
 STAGEDIR := $(realpath -s $(TOPBUILDDIR)/.libs)
-AM_LDFLAGS = -L$(STAGEDIR) -Wl,-rpath,$(STAGEDIR) -lm4ri $(LIBM) 
@PAPI_LDFLAGS@ @PAPI_LIBS@ -no-install
+AM_LDFLAGS = -Wl,-rpath,$(STAGEDIR) $(LIBM) @PAPI_LDFLAGS@ @PAPI_LIBS@ 
@M4RI_INSTALL_FLAGS@
+
+LDADD = $(TOPBUILDDIR)/libm4ri.la
 
 test_smallops_SOURCES = test_smallops.c testing.c testing.h
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/m4ri-20250128/tests/Makefile.in 
new/m4ri-20251207/tests/Makefile.in
--- old/m4ri-20250128/tests/Makefile.in 2025-01-28 10:48:34.000000000 +0100
+++ new/m4ri-20251207/tests/Makefile.in 2025-12-07 11:21:44.000000000 +0100
@@ -133,6 +133,7 @@
 test_alignment_SOURCES = test_alignment.c
 test_alignment_OBJECTS = test_alignment.$(OBJEXT)
 test_alignment_LDADD = $(LDADD)
+test_alignment_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 am__v_lt_0 = --silent
@@ -140,45 +141,59 @@
 test_colswap_SOURCES = test_colswap.c
 test_colswap_OBJECTS = test_colswap.$(OBJEXT)
 test_colswap_LDADD = $(LDADD)
+test_colswap_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la
 test_djb_SOURCES = test_djb.c
 test_djb_OBJECTS = test_djb.$(OBJEXT)
 test_djb_LDADD = $(LDADD)
+test_djb_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la
 test_elimination_SOURCES = test_elimination.c
 test_elimination_OBJECTS = test_elimination.$(OBJEXT)
 test_elimination_LDADD = $(LDADD)
+test_elimination_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la
 test_invert_SOURCES = test_invert.c
 test_invert_OBJECTS = test_invert.$(OBJEXT)
 test_invert_LDADD = $(LDADD)
+test_invert_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la
 test_kernel_SOURCES = test_kernel.c
 test_kernel_OBJECTS = test_kernel.$(OBJEXT)
 test_kernel_LDADD = $(LDADD)
+test_kernel_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la
 test_misc_SOURCES = test_misc.c
 test_misc_OBJECTS = test_misc.$(OBJEXT)
 test_misc_LDADD = $(LDADD)
+test_misc_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la
 test_multiplication_SOURCES = test_multiplication.c
 test_multiplication_OBJECTS = test_multiplication.$(OBJEXT)
 test_multiplication_LDADD = $(LDADD)
+test_multiplication_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la
 test_ple_SOURCES = test_ple.c
 test_ple_OBJECTS = test_ple.$(OBJEXT)
 test_ple_LDADD = $(LDADD)
+test_ple_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la
 test_pluq_SOURCES = test_pluq.c
 test_pluq_OBJECTS = test_pluq.$(OBJEXT)
 test_pluq_LDADD = $(LDADD)
+test_pluq_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la
 test_random_SOURCES = test_random.c
 test_random_OBJECTS = test_random.$(OBJEXT)
 test_random_LDADD = $(LDADD)
+test_random_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la
 am_test_smallops_OBJECTS = test_smallops.$(OBJEXT) testing.$(OBJEXT)
 test_smallops_OBJECTS = $(am_test_smallops_OBJECTS)
 test_smallops_LDADD = $(LDADD)
+test_smallops_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la
 test_solve_SOURCES = test_solve.c
 test_solve_OBJECTS = test_solve.$(OBJEXT)
 test_solve_LDADD = $(LDADD)
+test_solve_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la
 test_transpose_SOURCES = test_transpose.c
 test_transpose_OBJECTS = test_transpose.$(OBJEXT)
 test_transpose_LDADD = $(LDADD)
+test_transpose_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la
 test_trsm_SOURCES = test_trsm.c
 test_trsm_OBJECTS = test_trsm.$(OBJEXT)
 test_trsm_LDADD = $(LDADD)
+test_trsm_DEPENDENCIES = $(TOPBUILDDIR)/libm4ri.la
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
 am__v_P_0 = false
@@ -191,7 +206,7 @@
 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 am__v_at_0 = @
 am__v_at_1 = 
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/m4ri
+DEFAULT_INCLUDES = 
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__maybe_remake_depfiles = depfiles
 am__depfiles_remade = ./$(DEPDIR)/test_alignment.Po \
@@ -517,11 +532,13 @@
 M4RI_DEBUG_MZD = @M4RI_DEBUG_MZD@
 M4RI_ENABLE_MMC = @M4RI_ENABLE_MMC@
 M4RI_ENABLE_MZD_CACHE = @M4RI_ENABLE_MZD_CACHE@
+M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS = @M4RI_EXPORT_ALL_SYMBOLS_LDFLAGS@
 M4RI_HAVE_LIBPNG = @M4RI_HAVE_LIBPNG@
 M4RI_HAVE_MM_MALLOC = @M4RI_HAVE_MM_MALLOC@
 M4RI_HAVE_OPENMP = @M4RI_HAVE_OPENMP@
 M4RI_HAVE_POSIX_MEMALIGN = @M4RI_HAVE_POSIX_MEMALIGN@
-M4RI_HAVE_SSE2 = @M4RI_HAVE_SSE2@
+M4RI_INSTALL_FLAGS = @M4RI_INSTALL_FLAGS@
+M4RI_SSE2_ENABLED = @M4RI_SSE2_ENABLED@
 M4RI_USE_PNG_PC = @M4RI_USE_PNG_PC@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -616,9 +633,10 @@
 TOPBUILDDIR = $(builddir)/..
 DEFINES = 
 # include TOPBUILDIR for m4ri_config.h
-AM_CFLAGS = -I$(TOPSRCDIR) -I$(TOPBUILDDIR) -D_XOPEN_SOURCE=600 $(DEFINES) 
@OPENMP_CFLAGS@ @PAPI_CFLAGS@ @LIBPNG_CFLAGS@
+AM_CFLAGS = -I$(TOPSRCDIR) -I$(TOPBUILDDIR) -iquote$(TOPBUILDDIR)/m4ri 
-D_XOPEN_SOURCE=600 $(DEFINES) @OPENMP_CFLAGS@ @PAPI_CFLAGS@ @LIBPNG_CFLAGS@
 STAGEDIR := $(realpath -s $(TOPBUILDDIR)/.libs)
-AM_LDFLAGS = -L$(STAGEDIR) -Wl,-rpath,$(STAGEDIR) -lm4ri $(LIBM) 
@PAPI_LDFLAGS@ @PAPI_LIBS@ -no-install
+AM_LDFLAGS = -Wl,-rpath,$(STAGEDIR) $(LIBM) @PAPI_LDFLAGS@ @PAPI_LIBS@ 
@M4RI_INSTALL_FLAGS@
+LDADD = $(TOPBUILDDIR)/libm4ri.la
 test_smallops_SOURCES = test_smallops.c testing.c testing.h
 all: all-am
 

Reply via email to