Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pixman for openSUSE:Factory checked in at 2025-09-24 15:22:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pixman (Old) and /work/SRC/openSUSE:Factory/.pixman.new.27445 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pixman" Wed Sep 24 15:22:11 2025 rev:66 rq:1305523 version:0.46.4 Changes: -------- --- /work/SRC/openSUSE:Factory/pixman/pixman.changes 2025-07-26 13:41:14.601026700 +0200 +++ /work/SRC/openSUSE:Factory/.pixman.new.27445/pixman.changes 2025-09-24 15:23:04.733310747 +0200 @@ -1,0 +2,6 @@ +Wed Sep 17 12:19:38 UTC 2025 - Dominique Leuenberger <[email protected]> + +- Update to version 0.46.4: + + RISC-V: Use hwprobe interface to check for RVV 1.0 + +------------------------------------------------------------------- Old: ---- pixman-0.46.2.tar.gz New: ---- pixman-0.46.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pixman.spec ++++++ --- /var/tmp/diff_new_pack.tp0NPs/_old 2025-09-24 15:23:05.269333326 +0200 +++ /var/tmp/diff_new_pack.tp0NPs/_new 2025-09-24 15:23:05.269333326 +0200 @@ -1,7 +1,7 @@ # # spec file for package pixman # -# 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: pixman -Version: 0.46.2 +Version: 0.46.4 Release: 0 Summary: Pixel manipulation library License: MIT ++++++ pixman-0.46.2.tar.gz -> pixman-0.46.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pixman-0.46.2/meson.build new/pixman-0.46.4/meson.build --- old/pixman-0.46.2/meson.build 2025-06-10 00:57:06.000000000 +0200 +++ new/pixman-0.46.4/meson.build 2025-07-20 18:14:02.000000000 +0200 @@ -21,7 +21,7 @@ project( 'pixman', ['c'], - version : '0.46.2', + version : '0.46.4', license : 'MIT', meson_version : '>= 1.3.0', default_options : ['c_std=gnu99,c99', 'buildtype=debugoptimized'], @@ -372,11 +372,21 @@ if host_machine.cpu_family() == 'riscv64' if cc.compiles(''' #include <riscv_vector.h> - #include <asm/hwcap.h> - #ifndef COMPAT_HWCAP_ISA_V /* added in linux-6.5 */ - #error "COMPAT_HWCAP_ISA_V is not available" + #include <asm/hwprobe.h> + #include <linux/version.h> + #include <sys/auxv.h> + #include <sys/syscall.h> + #include <unistd.h> + + #if defined(__riscv_v) && __riscv_v < 1000000 + #error "Minimum supported RVV is 1.0" + #endif + #if LINUX_VERSION_CODE < KERNEL_VERSION(6, 5, 0) + #error "Minimum supported kernel is 6.5.0" #endif int main() { + struct riscv_hwprobe pair = {RISCV_HWPROBE_KEY_IMA_EXT_0, 0}; + long result = sys_riscv_hwprobe (&pair, 1, 0, 0, 0); vfloat32m1_t tmp1; /* added in gcc-13 */ vfloat32m1x4_t tmp2; /* added in gcc-14 */ return 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pixman-0.46.2/pixman/pixman-riscv.c new/pixman-0.46.4/pixman/pixman-riscv.c --- old/pixman-0.46.2/pixman/pixman-riscv.c 2025-06-10 00:57:06.000000000 +0200 +++ new/pixman-0.46.4/pixman/pixman-riscv.c 2025-07-20 18:14:02.000000000 +0200 @@ -30,8 +30,22 @@ #ifdef USE_RVV #if defined(__linux__) -#include <asm/hwcap.h> +#include <asm/hwprobe.h> #include <sys/auxv.h> +#include <sys/syscall.h> +#include <unistd.h> + +static int +is_rvv_1_0_available () +{ + struct riscv_hwprobe pair = {RISCV_HWPROBE_KEY_IMA_EXT_0, 0}; + if (sys_riscv_hwprobe (&pair, 1, 0, 0, 0) < 0) + { + return 0; + } + return (pair.value & RISCV_HWPROBE_IMA_V); +} + #endif typedef enum @@ -45,7 +59,7 @@ riscv_cpu_features_t features = 0; #if defined(__linux__) - if (getauxval (AT_HWCAP) & COMPAT_HWCAP_ISA_V) + if (is_rvv_1_0_available ()) { features |= RVV; }
