From 50a93a5057cd858decf6948c4356047f6060e210 Mon Sep 17 00:00:00 2001 From: Magnus Larsen Date: Thu, 29 Feb 2024 20:39:12 -0800 Subject: [PATCH] rr: update to 5.7.0. --- srcpkgs/rr/patches/linux-6.patch | 63 -------------------------------- srcpkgs/rr/template | 8 ++-- srcpkgs/rr/update | 2 + 3 files changed, 6 insertions(+), 67 deletions(-) delete mode 100644 srcpkgs/rr/patches/linux-6.patch create mode 100644 srcpkgs/rr/update diff --git a/srcpkgs/rr/patches/linux-6.patch b/srcpkgs/rr/patches/linux-6.patch deleted file mode 100644 index 2fdffee39af454..00000000000000 --- a/srcpkgs/rr/patches/linux-6.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 2979c60ef8bbf7c940afd90172ddc5d8863f766e Mon Sep 17 00:00:00 2001 -From: Robert O'Callahan -Date: Thu, 25 Aug 2022 20:40:59 +1200 -Subject: [PATCH] Avoid creating a struct with elements after - ethtool_sset_info's variable-length-array. - -Resolves #3369 ---- - src/record_syscall.cc | 27 +++++++++++++-------------- - 1 file changed, 13 insertions(+), 14 deletions(-) - -diff --git a/src/record_syscall.cc b/src/record_syscall.cc -index 2e4cdec352..48544e1df8 100644 ---- a/src/record_syscall.cc -+++ b/src/record_syscall.cc -@@ -1450,17 +1450,17 @@ template void get_ethtool_gstrings_arch(RecordTask* t) { - AutoRemoteSyscalls remote(t); - - // Do a ETHTOOL_GSSET_INFO to get the number of strings -- struct SingleStringSet { -- ethtool_sset_info et; -- uint32_t data; -- }; -- SingleStringSet sss; -- sss.et.cmd = ETHTOOL_GSSET_INFO; -- sss.et.reserved = 0; -- sss.et.sset_mask = 1 << et_gstrings.string_set; -- AutoRestoreMem sss_mem(remote, &sss, sizeof(sss)); -- -- ifreq.ifr_ifru.ifru_data = sss_mem.get(); -+ ethtool_sset_info et; -+ et.cmd = ETHTOOL_GSSET_INFO; -+ et.reserved = 0; -+ et.sset_mask = 1 << et_gstrings.string_set; -+ std::vector buffer; -+ buffer.resize(sizeof(et) + sizeof(uint32_t)); -+ memcpy(buffer.data(), &et, sizeof(et)); -+ memset(buffer.data() + sizeof(et), 0, sizeof(uint32_t)); -+ AutoRestoreMem et_mem(remote, buffer.data(), buffer.size()); -+ -+ ifreq.ifr_ifru.ifru_data = et_mem.get(); - AutoRestoreMem ifr_mem(remote, &ifreq, sizeof(ifreq)); - - long ret = remote.syscall(regs.original_syscallno(), regs.arg1(), -@@ -1470,8 +1470,7 @@ template void get_ethtool_gstrings_arch(RecordTask* t) { - return; - } - -- sss = t->read_mem(sss_mem.get().cast()); -- -+ uint32_t data = t->read_mem((et_mem.get() + sizeof(et)).cast()); - // Now do the ETHTOOL_GSTRINGS call - ret = remote.syscall(regs.original_syscallno(), regs.arg1(), SIOCETHTOOL, - regs.arg3()); -@@ -1479,7 +1478,7 @@ template void get_ethtool_gstrings_arch(RecordTask* t) { - if (ret < 0) { - return; - } -- t->record_remote(orig_gstrings, sizeof(ethtool_gstrings) + ETH_GSTRING_LEN*sss.data); -+ t->record_remote(orig_gstrings, sizeof(ethtool_gstrings) + ETH_GSTRING_LEN*data); - } - - static void get_ethtool_gstrings(RecordTask* t) { diff --git a/srcpkgs/rr/template b/srcpkgs/rr/template index 122a5f436fd75c..78e954a46bae29 100644 --- a/srcpkgs/rr/template +++ b/srcpkgs/rr/template @@ -1,7 +1,7 @@ # Template file for 'rr' pkgname=rr -version=5.6.0 -revision=2 +version=5.7.0 +revision=1 archs="i686 x86_64" build_style=cmake configure_args="-DBUILD_TESTS=OFF -DCMAKE_CXX_STANDARD=14" @@ -11,8 +11,8 @@ short_desc="Nondeterministic debugger" maintainer="Orphaned " license="MIT, BSD-2-Clause" homepage="http://rr-project.org/" -distfiles="https://github.com/mozilla/rr/archive/${version}.tar.gz" -checksum=a75262ae622c2c91d3391401d3da4e1dc9379b5afea5c40c9ea93f6905706c87 +distfiles="https://github.com/rr-debugger/rr/archive/${version}.tar.gz" +checksum=f7affaaee7316effd3f0924c94bc452ef50d372b94470cafe8568efd88451447 nopie=yes case "$XBPS_MACHINE" in diff --git a/srcpkgs/rr/update b/srcpkgs/rr/update new file mode 100644 index 00000000000000..9f93c8bd9d3461 --- /dev/null +++ b/srcpkgs/rr/update @@ -0,0 +1,2 @@ +site=https://github.com/rr-debugger/rr/releases/latest +pattern='href="/rr-debugger/rr/releases/tag/\K[\d\.]+(?=")'