ASR_BASE
Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/package/devel/valgrind/patches/021-mips-skip-using-shared-syscall-numbers-for-mips64.patch b/package/devel/valgrind/patches/021-mips-skip-using-shared-syscall-numbers-for-mips64.patch
new file mode 100644
index 0000000..759c5fd
--- /dev/null
+++ b/package/devel/valgrind/patches/021-mips-skip-using-shared-syscall-numbers-for-mips64.patch
@@ -0,0 +1,152 @@
+From efaa17e53a750d5f0f4c138b507b1b104729ed67 Mon Sep 17 00:00:00 2001
+From: Petar Jovanovic <mips32r2@gmail.com>
+Date: Mon, 24 Jun 2024 10:33:46 +0000
+Subject: mips: skip using shared syscall numbers for mips64
+
+mips does not use shared syscall numbers, so we can not use
+vki-scnums-shared-linux.h.
+
+This fixes KDE #444781.
+
+Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+Signed-off-by: Aleksandar Rikalo <arikalo@gmail.com>
+---
+ coregrind/m_syswrap/syswrap-mips64-linux.c | 1 +
+ include/pub_tool_vkiscnums_asm.h | 1 -
+ include/vki/vki-scnums-mips64-linux.h | 98 ++++++++++++++++++++++
+ 3 files changed, 99 insertions(+), 1 deletion(-)
+
+--- a/coregrind/m_syswrap/syswrap-mips64-linux.c
++++ b/coregrind/m_syswrap/syswrap-mips64-linux.c
+@@ -813,6 +813,7 @@ static SyscallTableEntry syscall_main_ta
+ LINX_ (__NR_pwritev2, sys_pwritev2),
+ LINX_ (__NR_syncfs, sys_syncfs),
+ LINXY (__NR_statx, sys_statx),
++ GENX_ (__NR_rseq, sys_ni_syscall),
+ LINX_ (__NR_setns, sys_setns),
+ LINXY (__NR_io_uring_setup, sys_io_uring_setup),
+ LINXY (__NR_io_uring_enter, sys_io_uring_enter),
+--- a/include/pub_tool_vkiscnums_asm.h
++++ b/include/pub_tool_vkiscnums_asm.h
+@@ -70,7 +70,6 @@
+ # include "vki/vki-scnums-shared-linux.h"
+
+ #elif defined(VGP_mips64_linux)
+-# include "vki/vki-scnums-shared-linux.h"
+ # include "vki/vki-scnums-mips64-linux.h"
+
+ #elif defined(VGP_x86_freebsd) || defined(VGP_amd64_freebsd) || defined(VGP_arm64_freebsd)
+--- a/include/vki/vki-scnums-mips64-linux.h
++++ b/include/vki/vki-scnums-mips64-linux.h
+@@ -362,6 +362,45 @@
+ #define __NR_pkey_alloc (__NR_Linux + 324)
+ #define __NR_pkey_free (__NR_Linux + 325)
+ #define __NR_statx (__NR_Linux + 326)
++#define __NR_rseq (__NR_Linux + 327)
++#define __NR_io_pgetevents (__NR_Linux + 328)
++#define __NR_pidfd_send_signal (__NR_Linux + 424)
++#define __NR_io_uring_setup (__NR_Linux + 425)
++#define __NR_io_uring_enter (__NR_Linux + 426)
++#define __NR_io_uring_register (__NR_Linux + 427)
++#define __NR_open_tree (__NR_Linux + 428)
++#define __NR_move_mount (__NR_Linux + 429)
++#define __NR_fsopen (__NR_Linux + 430)
++#define __NR_fsconfig (__NR_Linux + 431)
++#define __NR_fsmount (__NR_Linux + 432)
++#define __NR_fspick (__NR_Linux + 433)
++#define __NR_pidfd_open (__NR_Linux + 434)
++#define __NR_clone3 (__NR_Linux + 435)
++#define __NR_close_range (__NR_Linux + 436)
++#define __NR_openat2 (__NR_Linux + 437)
++#define __NR_pidfd_getfd (__NR_Linux + 438)
++#define __NR_faccessat2 (__NR_Linux + 439)
++#define __NR_process_madvise (__NR_Linux + 440)
++#define __NR_epoll_pwait2 (__NR_Linux + 441)
++#define __NR_mount_setattr (__NR_Linux + 442)
++#define __NR_quotactl_fd (__NR_Linux + 443)
++#define __NR_landlock_create_ruleset (__NR_Linux + 444)
++#define __NR_landlock_add_rule (__NR_Linux + 445)
++#define __NR_landlock_restrict_self (__NR_Linux + 446)
++#define __NR_process_mrelease (__NR_Linux + 448)
++#define __NR_futex_waitv (__NR_Linux + 449)
++#define __NR_set_mempolicy_home_node (__NR_Linux + 450)
++#define __NR_cachestat (__NR_Linux + 451)
++#define __NR_fchmodat2 (__NR_Linux + 452)
++#define __NR_map_shadow_stack (__NR_Linux + 453)
++#define __NR_futex_wake (__NR_Linux + 454)
++#define __NR_futex_wait (__NR_Linux + 455)
++#define __NR_futex_requeue (__NR_Linux + 456)
++#define __NR_statmount (__NR_Linux + 457)
++#define __NR_listmount (__NR_Linux + 458)
++#define __NR_lsm_get_self_attr (__NR_Linux + 459)
++#define __NR_lsm_set_self_attr (__NR_Linux + 460)
++#define __NR_lsm_list_modules (__NR_Linux + 461)
+
+ #elif defined(VGABI_N32)
+
+@@ -701,6 +740,65 @@
+ #define __NR_pkey_alloc (__NR_Linux + 328)
+ #define __NR_pkey_free (__NR_Linux + 329)
+ #define __NR_statx (__NR_Linux + 330)
++#define __NR_rseq (__NR_Linux + 331)
++#define __NR_io_pgetevents (__NR_Linux + 332)
++#define __NR_clock_gettime64 (__NR_Linux + 403)
++#define __NR_clock_settime64 (__NR_Linux + 404)
++#define __NR_clock_adjtime64 (__NR_Linux + 405)
++#define __NR_clock_getres_time64 (__NR_Linux + 406)
++#define __NR_clock_nanosleep_time64 (__NR_Linux + 407)
++#define __NR_timer_gettime64 (__NR_Linux + 408)
++#define __NR_timer_settime64 (__NR_Linux + 409)
++#define __NR_timerfd_gettime64 (__NR_Linux + 410)
++#define __NR_timerfd_settime64 (__NR_Linux + 411)
++#define __NR_utimensat_time64 (__NR_Linux + 412)
++#define __NR_pselect6_time64 (__NR_Linux + 413)
++#define __NR_ppoll_time64 (__NR_Linux + 414)
++#define __NR_io_pgetevents_time64 (__NR_Linux + 416)
++#define __NR_recvmmsg_time64 (__NR_Linux + 417)
++#define __NR_mq_timedsend_time64 (__NR_Linux + 418)
++#define __NR_mq_timedreceive_time64 (__NR_Linux + 419)
++#define __NR_semtimedop_time64 (__NR_Linux + 420)
++#define __NR_rt_sigtimedwait_time64 (__NR_Linux + 421)
++#define __NR_futex_time64 (__NR_Linux + 422)
++#define __NR_sched_rr_get_interval_time64 (__NR_Linux + 423)
++#define __NR_pidfd_send_signal (__NR_Linux + 424)
++#define __NR_io_uring_setup (__NR_Linux + 425)
++#define __NR_io_uring_enter (__NR_Linux + 426)
++#define __NR_io_uring_register (__NR_Linux + 427)
++#define __NR_open_tree (__NR_Linux + 428)
++#define __NR_move_mount (__NR_Linux + 429)
++#define __NR_fsopen (__NR_Linux + 430)
++#define __NR_fsconfig (__NR_Linux + 431)
++#define __NR_fsmount (__NR_Linux + 432)
++#define __NR_fspick (__NR_Linux + 433)
++#define __NR_pidfd_open (__NR_Linux + 434)
++#define __NR_clone3 (__NR_Linux + 435)
++#define __NR_close_range (__NR_Linux + 436)
++#define __NR_openat2 (__NR_Linux + 437)
++#define __NR_pidfd_getfd (__NR_Linux + 438)
++#define __NR_faccessat2 (__NR_Linux + 439)
++#define __NR_process_madvise (__NR_Linux + 440)
++#define __NR_epoll_pwait2 (__NR_Linux + 441)
++#define __NR_mount_setattr (__NR_Linux + 442)
++#define __NR_quotactl_fd (__NR_Linux + 443)
++#define __NR_landlock_create_ruleset (__NR_Linux + 444)
++#define __NR_landlock_add_rule (__NR_Linux + 445)
++#define __NR_landlock_restrict_self (__NR_Linux + 446)
++#define __NR_process_mrelease (__NR_Linux + 448)
++#define __NR_futex_waitv (__NR_Linux + 449)
++#define __NR_set_mempolicy_home_node (__NR_Linux + 450)
++#define __NR_cachestat (__NR_Linux + 451)
++#define __NR_fchmodat2 (__NR_Linux + 452)
++#define __NR_map_shadow_stack (__NR_Linux + 453)
++#define __NR_futex_wake (__NR_Linux + 454)
++#define __NR_futex_wait (__NR_Linux + 455)
++#define __NR_futex_requeue (__NR_Linux + 456)
++#define __NR_statmount (__NR_Linux + 457)
++#define __NR_listmount (__NR_Linux + 458)
++#define __NR_lsm_get_self_attr (__NR_Linux + 459)
++#define __NR_lsm_set_self_attr (__NR_Linux + 460)
++#define __NR_lsm_list_modules (__NR_Linux + 461)
+
+ #else
+ #error unknown mips64 abi