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