Michael R. Crusoe pushed to branch master at Debian Med / libmaus2
Commits: b4e10a25 by Michael R. Crusoe at 2024-04-17T16:01:21+02:00 Fix "fix error caused by sysconf function" with a patch from the bug summiter. (Closes: #1068573) - - - - - 848b6afb by Michael R. Crusoe at 2024-04-17T16:01:22+02:00 d/control: pkg-config => pkgconf - - - - - 4 changed files: - debian/changelog - debian/control - + debian/patches/add-support-for-loong64.patch - + debian/patches/series Changes: ===================================== debian/changelog ===================================== @@ -1,3 +1,12 @@ +libmaus2 (2.0.813+ds-2) UNRELEASED; urgency=medium + + * Team upload. + * Fix "fix error caused by sysconf function" with a patch from the bug + summiter. (Closes: #1068573) + * d/control: pkg-config => pkgconf + + -- Michael R. Crusoe <cru...@debian.org> Wed, 17 Apr 2024 15:54:21 +0200 + libmaus2 (2.0.813+ds-1) unstable; urgency=medium * New upstream version ===================================== debian/control ===================================== @@ -9,7 +9,7 @@ Build-Depends: debhelper-compat (= 13), d-shlibs, libboost-atomic-dev, libsecrecy-dev, - pkg-config, + pkgconf, zlib1g-dev Standards-Version: 4.6.2 Vcs-Browser: https://salsa.debian.org/med-team/libmaus2 ===================================== debian/patches/add-support-for-loong64.patch ===================================== @@ -0,0 +1,43 @@ +Description: workaround for architectures with broken sysconf.c +Author: wuruilong <wuruil...@loongson.cn> +Bug-Debian: https://bugs.debian.org/1068573 +Forwarded: https://gitlab.com/german.tischler/libmaus2/-/merge_requests/21 + +Some architectures in glibc do not define the sysconf.c file, and using the +generic posix sysconf.c file to call the _SC_LEVEL1_DCACHE_LINESIZE variable +returns 0 by default, which leads to failure of the test in +loongarch, ia64, s390x and other architectures, + +This patch reference lscpu code to read the data in coherency_line_size file +directly can fix the above error, and it passes the test on x86 and loongarch. + +--- libmaus2.orig/src/libmaus2/arch/CacheLineSize.cpp ++++ libmaus2/src/libmaus2/arch/CacheLineSize.cpp +@@ -17,6 +17,7 @@ + */ + #include <libmaus2/arch/CacheLineSize.hpp> + #include <stdexcept> ++#include <stdio.h> + + #include <libmaus2/LibMausConfig.hpp> + +@@ -39,10 +40,17 @@ + /** + * @return size of a (level 1) cache line in bytes + **/ +-#if defined(LIBMAUS2_HAVE_SYSCONF) && defined(_SC_LEVEL1_DCACHE_LINESIZE) ++#if defined(__linux__) + static uint64_t getCacheLineSizeLocal() + { +- return sysconf(_SC_LEVEL1_DCACHE_LINESIZE); ++ FILE *fp = NULL; ++ fp = fopen("/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size", "r"); ++ uint64_t i = 0; ++ if(fp){ ++ fscanf(fp, "%d", &i); ++ fclose(fp); ++ } ++ return i; + } + #elif defined(_WIN32) + static uint64_t getCacheLineSizeLocal() ===================================== debian/patches/series ===================================== @@ -0,0 +1 @@ +add-support-for-loong64.patch View it on GitLab: https://salsa.debian.org/med-team/libmaus2/-/compare/4efc6b010fed0f1a29fb939a509c96a8ff625da7...848b6afb3f040b100026f6b28d253389629f0278 -- View it on GitLab: https://salsa.debian.org/med-team/libmaus2/-/compare/4efc6b010fed0f1a29fb939a509c96a8ff625da7...848b6afb3f040b100026f6b28d253389629f0278 You're receiving this email because of your account on salsa.debian.org.
_______________________________________________ debian-med-commit mailing list debian-med-com...@alioth-lists.debian.net https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-med-commit