summaryrefslogtreecommitdiff
path: root/dev-util
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-11-20 03:02:59 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-11-20 03:02:59 +0000
commit8a5f3383bbc5f817d89554020a3600d06985bc4a (patch)
treec1f7e85e7de87c74b4c730fab5369051cef5cb32 /dev-util
parentf2e359c456b051f95efc92e21299d55a302e58ed (diff)
gentoo auto-resync : 20:11:2024 - 03:02:59
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/Manifest.gzbin65174 -> 65177 bytes
-rw-r--r--dev-util/android-udev-rules/Manifest2
-rw-r--r--dev-util/android-udev-rules/android-udev-rules-20241109.ebuild42
-rw-r--r--dev-util/babeltrace/Manifest2
-rw-r--r--dev-util/babeltrace/babeltrace-2.0.5.ebuild9
-rw-r--r--dev-util/lttng-tools/Manifest4
-rw-r--r--dev-util/lttng-tools/lttng-tools-2.13.14.ebuild4
-rw-r--r--dev-util/lttng-tools/lttng-tools-2.13.9.ebuild4
-rw-r--r--dev-util/perf/Manifest13
-rw-r--r--dev-util/perf/files/perf-6.10-bpf-capstone.patch456
-rw-r--r--dev-util/perf/files/perf-6.10-expr.patch22
-rw-r--r--dev-util/perf/files/perf-6.10.3-bpf-capstone.patch455
-rw-r--r--dev-util/perf/files/perf-6.11-bpf-capstone.patch469
-rw-r--r--dev-util/perf/perf-6.10.4.ebuild345
-rw-r--r--dev-util/perf/perf-6.10.ebuild342
-rw-r--r--dev-util/perf/perf-6.11.7.ebuild2
-rw-r--r--dev-util/perf/perf-6.12.ebuild (renamed from dev-util/perf/perf-6.11.ebuild)10
17 files changed, 71 insertions, 2110 deletions
diff --git a/dev-util/Manifest.gz b/dev-util/Manifest.gz
index c21bae8d9cb5..e8086abf6550 100644
--- a/dev-util/Manifest.gz
+++ b/dev-util/Manifest.gz
Binary files differ
diff --git a/dev-util/android-udev-rules/Manifest b/dev-util/android-udev-rules/Manifest
index fcb2e68cb65e..f0ace46c866b 100644
--- a/dev-util/android-udev-rules/Manifest
+++ b/dev-util/android-udev-rules/Manifest
@@ -1,7 +1,9 @@
DIST android-udev-rules-20240625.tar.gz 24970 BLAKE2B 40558ad0d6207efa690c632f76ceb71cbd79c6cff68463857a211f3fe9257bbf1d37260ccfec2d9bafff480b14bbf7b2f47b65852b7cc7aeaefc9e36cc122a95 SHA512 c9d534d7ddc5e290a992773a967f1625241f999c22d1c469e7f88c3c39a3a01da922e42d31b0c8b109dac08400f0cf515177a048a2a0ae27d2158ba265d2649e
DIST android-udev-rules-20240829.tar.gz 24981 BLAKE2B 8886bb32bd70c4ebb1ce0381ca6799ec12087a59ce7266bfb7cf3a3daba60c4fab854a0a9fa24084acf4db983a1b0f9271b4e1bf32c6b21d21db289281c15f86 SHA512 a75b23ab0ad12d11af3ace9dfbab218fb56ee186a4e69c59358ea77322355150f889a900fd7ae9eb673d3f8ff7acde6262eb8915225df337191d992716665128
DIST android-udev-rules-20241019.tar.gz 25029 BLAKE2B 3e556bfd121a1f413281beec32289ef097faba7e79487483378505fee97e16a6a87fa6559a749bca8d7dffebb95e9cc20a205e36c31eca6e43d8bfa3cc8f1ac6 SHA512 1979b2338bcaeef08a31d1009abdc0c4cf30c9c52b58639bb54879d4a56fde406aa643d32557a367c35cc90cbbf5c52d1d30e9cd1f24878a8bc88b93c6bf9462
+DIST android-udev-rules-20241109.tar.gz 25066 BLAKE2B f4e6aae124d84752cb22365a1362a1865fee98bab45e2726e0c1c586f71aa17fe9e68277b8b38d65bcc1fa5b6a468ce03f6cdb318c5f9b414328cef7a21f4f43 SHA512 93df449cb5fe4f2058f385e9de40559da9ae0cde0cf18aed3c5690c7393027c60b0e6d31a4963449271888b3780fbdfdfcf609a23732194411d90ace744ac556
EBUILD android-udev-rules-20240625.ebuild 766 BLAKE2B 528a426105ae536d5b3b40740c33bf9841f3adb9da37c3889f935c9c6776cbd141c1760ccf0b7b3d0c764dd18b157e2048ecb9bf4d08849f897e4b01b39a38a3 SHA512 cfa90ae659bfbfdc9ae18dbfa1ca6fba43f89ce4c1a9b492b77603306ec8dca6cef3e05666954bc044c68e28f40b27a808fac22b929475d98a5b9b55f070cb50
EBUILD android-udev-rules-20240829.ebuild 766 BLAKE2B 528a426105ae536d5b3b40740c33bf9841f3adb9da37c3889f935c9c6776cbd141c1760ccf0b7b3d0c764dd18b157e2048ecb9bf4d08849f897e4b01b39a38a3 SHA512 cfa90ae659bfbfdc9ae18dbfa1ca6fba43f89ce4c1a9b492b77603306ec8dca6cef3e05666954bc044c68e28f40b27a808fac22b929475d98a5b9b55f070cb50
EBUILD android-udev-rules-20241019.ebuild 769 BLAKE2B 0b07aa117be352ca786d93e9206b07e49257804e2f667402297f29cae654fd5c8434fcef2a512324db2a612649d7783ebc563eda4e53f405ce03cf5a646105d3 SHA512 69f3103464df10a403d04799c7bd24bcc37a40130814edd531849d0a359e3cd0243a0e63fbd6270d99591b8532008feee3727b4b5f2b2a737a52eb5a79d2e889
+EBUILD android-udev-rules-20241109.ebuild 769 BLAKE2B 0b07aa117be352ca786d93e9206b07e49257804e2f667402297f29cae654fd5c8434fcef2a512324db2a612649d7783ebc563eda4e53f405ce03cf5a646105d3 SHA512 69f3103464df10a403d04799c7bd24bcc37a40130814edd531849d0a359e3cd0243a0e63fbd6270d99591b8532008feee3727b4b5f2b2a737a52eb5a79d2e889
MISC metadata.xml 513 BLAKE2B 6c3d6dc38ce42493d7d8a6705b506fd30f47705a51b07530f89fb31b55f3ee304c6af720c068c54090837df5f82043320af9fe165c92afefc5678c16765208e7 SHA512 dc0379358009a9e2548571034a3dbca2f1a446877452c81ef9ed6f07c7f6633af77693c505e3336e9ac87746f4f2e395c29deba9d119a0c41a91a322d180e19d
diff --git a/dev-util/android-udev-rules/android-udev-rules-20241109.ebuild b/dev-util/android-udev-rules/android-udev-rules-20241109.ebuild
new file mode 100644
index 000000000000..b566bb91970c
--- /dev/null
+++ b/dev-util/android-udev-rules/android-udev-rules-20241109.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit udev
+
+DESCRIPTION="Android udev rules list aimed to be the most comprehensive on the net"
+HOMEPAGE="https://github.com/M0Rf30/android-udev-rules"
+SRC_URI="https://github.com/M0Rf30/android-udev-rules/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+# No tests
+RESTRICT="test"
+
+RDEPEND="
+ acct-group/android
+ virtual/udev
+"
+
+src_prepare() {
+ default
+
+ # Use the pre-existing android group
+ sed -i 's/GROUP="adbusers"/GROUP="android"/' 51-android.rules || die
+}
+
+src_install() {
+ udev_dorules 51-android.rules
+ einstalldocs
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/dev-util/babeltrace/Manifest b/dev-util/babeltrace/Manifest
index 1b83a2923130..6520e5ff6ef2 100644
--- a/dev-util/babeltrace/Manifest
+++ b/dev-util/babeltrace/Manifest
@@ -4,5 +4,5 @@ DIST babeltrace-1.5.8.tar.bz2 992610 BLAKE2B 3d47f9ba40b406271a0b35e441968718c93
DIST babeltrace2-2.0.5.tar.bz2 3252593 BLAKE2B 31a8f3c080e4a6b6e33c224ec4a64d5ff12724a5697954cb92b88c569d6f2019f49ddcb88f82d36be3007c7b5d1334370202d1c0e89122acf340a7cb9e399fa3 SHA512 63469cb0796c720b18bfc09569875eb9a44d2f8a776228bfa503af8ba613b2988b2d20be870f41451e5d6146a3dfb08de6284131d25f1a86137deb75c3a4d514
EBUILD babeltrace-1.5.11.ebuild 828 BLAKE2B 003a4829498fe7ab9bd326aa1183c67a71de372bc1c4e014e487f653c39134d151ee02d0a72284e4dced04311507f6200b13ace8a6836496c627805973633a40 SHA512 e349b1c847c11caf5b9d29360f0b5eafd233c939e9c2d5afa158dae4d053eeb92abf2644b472dd1b04ad951a68faf1ae0b049109b8df6d99ef226c628358c384
EBUILD babeltrace-1.5.8.ebuild 814 BLAKE2B dbd7521736175087865d89a6c26bb49ae27bfd4f90d3f8dc6a466d011b3dbfa1a68734941104894c51a15a25dad5976d478aa7da7f637576c924f63e987aac48 SHA512 60decdf160cdbed65e0c537f0858a540ce1e8ce453218468fe8cc53250e717acb3a9b1f73e026876abe12afb04385db99b7c7ea3ca5bb3cfcbe4ffcfe10f0cd1
-EBUILD babeltrace-2.0.5.ebuild 1541 BLAKE2B 9bbbb36bd6a6d0f988a8674e50d9d2583fd1dc2cce2d926ff02901933d2b9afbbe8f579986c4018d4762fa2527094cc554226986913030417e48252f64ec5cf0 SHA512 b954a5545d74027a7567d52d9833cb4ed1047fce7645aa9a07bc6a7c9323244eb6a16e24066755b449af581708bf77cd922455acd5ea9132bc2c87ab07027db9
+EBUILD babeltrace-2.0.5.ebuild 1621 BLAKE2B 030b2f390ea3c5dec62097cfda3824ed2177dc4eb85c929754d943527ae977653f33d5c308bc2d82d8597b858664bbe5f6d66acf4efbaebebe6a8f731c969b42 SHA512 153019e3609c90dd82018fae26fdcf9187e097c934120a716d8d0a26eb48dd0b7c6ce1fc6046598c9718c3babcb043ec481dbef32d41a1071a82ec15dfa79998
MISC metadata.xml 678 BLAKE2B 0298ddf00050c55f360e4e02d9c590db5df5b9b6cfc6d2096685281cef84130a8003bdb9190215310aa955e30fcf6c3fb72eb301091ae9c4f0a3d29b55d9e627 SHA512 2bf5458672c71b4511e64eea1cee4324d245a8adc0bc43b9e9340e43b8a2826555bcceb80f37baf06c99deb60340a752478d033eb8a271ac79d9b86ed0a583cc
diff --git a/dev-util/babeltrace/babeltrace-2.0.5.ebuild b/dev-util/babeltrace/babeltrace-2.0.5.ebuild
index e20776805f40..a903675a4222 100644
--- a/dev-util/babeltrace/babeltrace-2.0.5.ebuild
+++ b/dev-util/babeltrace/babeltrace-2.0.5.ebuild
@@ -9,13 +9,13 @@ inherit python-single-r1
DESCRIPTION="A command-line tool and library to read and convert trace files"
HOMEPAGE="https://babeltrace.org/"
SRC_URI="https://www.efficios.com/files/${PN}/${PN}$(ver_cut 1)-${PV}.tar.bz2"
+S="${WORKDIR}/${PN}$(ver_cut 1)-${PV}"
LICENSE="GPL-2"
SLOT="0/$(ver_cut 1)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
IUSE="doc +elfutils +man plugins python"
REQUIRED_USE="plugins? ( python ) python? ( ${PYTHON_REQUIRED_USE} )"
-S="${WORKDIR}/${PN}$(ver_cut 1)-${PV}"
RDEPEND=">=dev-libs/glib-2.28:2
elfutils? ( >=dev-libs/elfutils-0.154 )
@@ -37,6 +37,10 @@ BDEPEND="${RDEPEND}
)
"
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
src_configure() {
use python && export PYTHON_CONFIG="${EPYTHON}-config"
econf \
@@ -47,7 +51,8 @@ src_configure() {
$(usex python $(use_enable doc python-bindings-doc) --disable-python-bindings-doc) \
$(use_enable plugins python-plugins) \
--disable-built-in-plugins \
- --disable-built-in-python-plugin-support
+ --disable-built-in-python-plugin-support \
+ --disable-Werror
}
src_install() {
diff --git a/dev-util/lttng-tools/Manifest b/dev-util/lttng-tools/Manifest
index 0e8532a821db..edcd8e25cc01 100644
--- a/dev-util/lttng-tools/Manifest
+++ b/dev-util/lttng-tools/Manifest
@@ -1,6 +1,6 @@
AUX lttng-tools-2.13.9-slibtool.patch 4024 BLAKE2B 38aae443574440c9efd3b895c55e7a2e482d0dc1ba27f0bddfe43170a5b1fc20b8be436ce31005bac71c33bf9c312197bde07f20a7e721426f2ed943309a5890 SHA512 186ec460c30de9696685769e0bdba8dcf5f55b13e0bbf1565f087f7ec5381cf4de90795d6fa703136ed0f06ab51931911f30518ff8c6088753d91323be20e3b2
DIST lttng-tools-2.13.14.tar.bz2 1932238 BLAKE2B f079051502d01ffc67c4f8f0bbcdf3a4428546c652dcc352918c4908a37aeb510dd66309306cec835297c8d2f276e5cbd22ea4efef6866d3c0c0cf8651d68ef8 SHA512 61bdebb539cfb4eb61c9806e98742f39dc032d849b03d90cdb98d1891bd5bfbd0cb1f54bbc7bf79a11505ce7fee558497312d650bb41f11f739884e7cb8a750f
DIST lttng-tools-2.13.9.tar.bz2 1892293 BLAKE2B 51c4824435164196a77c8b6b3072810df83caf488c5fb692f9990b8d743ced2b07bffffa1e5a671149c75f3d96267f9c92f042c6c13503e03894f4c352c1733b SHA512 ff7a395d9af3fc44561be24163a84ce27ddd1338f7df2805037645b98c4ad17496553f17b8f0ede7bee967d630b53000c080a91ea8e1ced25ce86b010941b94e
-EBUILD lttng-tools-2.13.14.ebuild 1095 BLAKE2B 3e6b77692cf793d257946a422a51497211ee0b574d13d8b8f07d89fea0fe5fd006e8da1ae6fe1240cfd737eb289c95a526a18effbfeab025c07a1716c0e4ed5f SHA512 4cf128f283305260445a1dee09ebf89d8cc1eb37df404eb947bafd2b8fb851810e5e1d399891411f1fcad9493ff261101c2dcfe04a35b3807a34e488c8a3756a
-EBUILD lttng-tools-2.13.9.ebuild 1275 BLAKE2B fb7f1d283dd76ce53f640d0c9792fac41b2098b7550119191ee6137647f8b25bf3c0226a2374770064d054b57a53a2e42e3ba57421dae276c5950b3666ea9e2d SHA512 67c26d3b67801b2c4651c08f40eea7ac775278e712e87c1ad564ff0b8a5dc5f8a7cc0d9e5112de0266207428491bc8e77ec2e597fb15698f82ee440af13158e4
+EBUILD lttng-tools-2.13.14.ebuild 1120 BLAKE2B fd48da4ce3fb9ee079fab427892c0625b0da6ef1d426b89c21ae53af073750bcba3f9372f1f2996791e5dd128c487ae1cb35689babace5b126569b600184ddf9 SHA512 765e67d1373cf1924ff571a4e672a7a45dbfb076828c73e4cf3f3f373bab71d9e7207dab1a617939e6d58aaef2f774a4d6376a3438f00cefb129a221a8001bb1
+EBUILD lttng-tools-2.13.9.ebuild 1300 BLAKE2B c53975d6e35d6ce6b6534cbae74224b45d5a58ad5de853c55ad6bc526a9dd59efae920de1fa899b339c647a51748025fd8c7eee86d9787fac7078f3a8b2c2f08 SHA512 6af41c75757a4c2014cd25982738709d469e2bd73ffc16f6614bea5581c644c04225a0cc31bb0ecb94f57b637aa98a14a3b4e1411a12c43153712f996ba0053c
MISC metadata.xml 502 BLAKE2B 3c29db929f2a3cbc9c72d07f5f0eb9e830879c044f2d902435c21e0e36801cd84999dd4723f129145a3d82a467976236539c75ac07ea2137a461c87d49e396a3 SHA512 9669dcfdfac9097ac2196456c2ae71037f9c0afe9fdaa67a9fdf1b55ef30b3a1b3cc482b7632c3bca72a02ae933dbadcaa328bcbe88e2083e4ad0ce0b60b97fd
diff --git a/dev-util/lttng-tools/lttng-tools-2.13.14.ebuild b/dev-util/lttng-tools/lttng-tools-2.13.14.ebuild
index 5c8ab318c0d8..77e87b71801b 100644
--- a/dev-util/lttng-tools/lttng-tools-2.13.14.ebuild
+++ b/dev-util/lttng-tools/lttng-tools-2.13.14.ebuild
@@ -41,7 +41,9 @@ src_configure() {
# bug 906928
use elibc_musl && append-cppflags -D_LARGEFILE64_SOURCE
- econf $(usex ust "" --without-lttng-ust)
+ econf \
+ $(usex ust "" --without-lttng-ust) \
+ --disable-Werror
}
src_install() {
diff --git a/dev-util/lttng-tools/lttng-tools-2.13.9.ebuild b/dev-util/lttng-tools/lttng-tools-2.13.9.ebuild
index ce9797cfbfb1..d24f0b3772ae 100644
--- a/dev-util/lttng-tools/lttng-tools-2.13.9.ebuild
+++ b/dev-util/lttng-tools/lttng-tools-2.13.9.ebuild
@@ -52,7 +52,9 @@ src_configure() {
# bug 906928
use elibc_musl && append-cppflags -D_LARGEFILE64_SOURCE
- econf $(usex ust "" --without-lttng-ust)
+ econf \
+ $(usex ust "" --without-lttng-ust) \
+ --disable-Werror
}
src_install() {
diff --git a/dev-util/perf/Manifest b/dev-util/perf/Manifest
index b6229851f1aa..12e7f71911f0 100644
--- a/dev-util/perf/Manifest
+++ b/dev-util/perf/Manifest
@@ -1,18 +1,11 @@
-AUX perf-6.10-bpf-capstone.patch 11805 BLAKE2B 5e4f2942b6ab4e7c3e149b86dab9515b0a60ab73e003b59bb2623288896f4db3bd80f372110e9ef7f2da49641c925fe60989fb5e21dd5e2e13409fc7e60b3722 SHA512 ac5270276552b934736dd111eefe7019cfe091a14ed7e2fe107527b69652e82415f4142a1199db5e3a1a3e0b48b7ee0166f650bfe0fb25bdc69908b376baf3d3
-AUX perf-6.10-expr.patch 1355 BLAKE2B d4dcb3b8b79944f304fd8789cd680e91e2fb1deffaa0ac108e200130f9ab669bea6a8ad65efc66b730b3282d523f839812cc4de6861b665c86bf2ba400645743 SHA512 0b031a675c49149b0f7623c0e663e4b6c2866ab4fa7e7e29712a55ebbceccef68bdde8ebe1f70a0f3e035e75e6e8e6fb90c06d0c16d39d2866ecbded4ff0c5cc
-AUX perf-6.10.3-bpf-capstone.patch 11856 BLAKE2B 17f3d66a4fd0508f3ac89d4c9d18341dac97cf4b753bde85887a1b9ee79c10a3e1e94d28bb2c77a69dd35c5db21ef7ffe83314c8adca95dcc3ca353829eff139 SHA512 c41dcee2e85676a56178a0cb9998f1a56dab1aba8c49cdac506fd05bf72065a6dc51a46d48fe968a45ab5a872235f6839aab93b3464e6cf25aa66580b92ac652
-AUX perf-6.11-bpf-capstone.patch 12796 BLAKE2B 8d99c9bf701589c025886ff64a3591537676ac6f8f0dc56693d2542f95ceb8ec575c8c5724dc9dfa1eee0253e71efbe304f8b5457b1323a54d10f0cdf9659203 SHA512 b6ee9c74d3839febb90c86ed58f6162b268e06ab2c545e840e5a62cf062f1f6e5d2d8fca978ef6092572c61e168301984fb3ddf27bc02ed9351b01dc5558fe4e
AUX perf-6.11.7-annotate.patch 583 BLAKE2B 31fddd43a96409b303d6b516d942a7392a33f105a1b49d97ccdd8b9f46a2170348f668222aaab9fe404e4851fedd429797e2286c64e8bc11ff7e954a367f1331 SHA512 b99c8e7d609cf5dccc67772b5f307c6dc890c74e63060f615602a99c519c951fe075d645ad74919ebf09fb7272a30a06098252a0e5c68a8c8fd0a6c89440ca52
AUX perf-6.4-libtracefs.patch 780 BLAKE2B dc97e42f1d3ece03722441b5a2c1f87ab9871ca92b9cf9f57b2e44627fddfcedaf6d7f64ddf74fd103c23aa0db71c4d147f7841743eb5c5a466c9bbb150597ea SHA512 da1b69c190491dd926ba1e98a43965a5ffd543df4134e6a10d187ab544695617fcffede3190bce4cbef13b897d113dee743f67a98ff249a486f8de2d49e62f9f
AUX perf-6.7-expr.patch 1257 BLAKE2B 1ff41975d84f835a343d2b2f9f049edd817bf80ca576879c7f819608506341b5d19147cf3ecd67a731ab6ecf9a45ce494a8a665aa1bff86cc14f3967a6dd12a0 SHA512 8f1a5a8412464f7623b10da562552b2ac17ca8e70eb4507a3751493662e64066828f2b7a73f1bc7546f463d8d21919f59622b978a6bacafed6a93f232a15ff0b
-DIST linux-6.10.tar.xz 145142812 BLAKE2B bb243ea7493b9d63aa2df2050a3f1ae2b89ee84a20015239cf157e3f4f51c7ac5efedc8a51132b2d7482f9276ac418de6624831c8a3b806130d9c2d2124c539b SHA512 baa2487954044f991d2ae254d77d14a1f0185dd62c9f0fcaff69f586c9f906823017b8db1c4588f27b076dfa3ebb606929fec859f60ea419e7974330b9289cc2
DIST linux-6.11.tar.xz 146900704 BLAKE2B e7750c0878d71a56a0ce52d4c4c912199dad5bf5e2e8f872585a6494afbb37cbd852e612a6858936d2dc9b7776a3933818f540db408d57e90d18ea5249bba7ab SHA512 329c1f94008742e3f0c2ce7e591a16316d1b2cb9ea4596d4f45604097e07b7aa2f64afa40630a07f321a858455c77aa32ba57b271932ddcf4dc27863f9081cea
+DIST linux-6.12.tar.xz 147906904 BLAKE2B b2ec2fc69218cacabbbe49f78384a5d259ca581b717617c12b000b16f4a4c59ee348ea886b37147f5f70fb9a7a01c1e2c8f19021078f6b23f5bc62d1c48d5e5e SHA512 a37b1823df7b4f72542f689b65882634740ba0401a42fdcf6601d9efd2e132e5a7650e70450ba76f6cd1f13ca31180f2ccee9d54fe4df89bc0000ade4380a548
DIST linux-6.7.tar.xz 141406528 BLAKE2B cecdbd19905e43e485ab73b352ced18b37f2a138c97a6956cadcda5d3d271001117dc1cf896b166ff019fc7f405f9539e2ed0d6112b0890efb04d182adf4fd0e SHA512 de06de556191614bd9daf077ae239360352a402bab407748e67f1e5108c92fd933e451707840ab22fe0f9976db3d1e1b60ca9d41cf894f015ca09b3f652b74ad
-DIST patch-6.10.4.xz 303168 BLAKE2B d38bbcdd2f730a030add5b38c1ab09c7081c311ed716d3ae976a058dd34b235078700cdff05d79dc93d9badb75c95566a3bdfc39dfa045d54857d82ee2c92e9d SHA512 5f5e8b19d114fed733c8c98a581fe339f8896e05e5da6a37deb1d7d8aa9dd83b3c80a97b1c6f3f51b6f20cca9c435b20c28c2c511da2026980d9fa72624cf420
DIST patch-6.11.7.xz 669756 BLAKE2B f2ec79bd337eaa61c7203c00ce61b3e5afa9eee38a3e38e63a7fc9270af86674e5c369ca7ddfe4fa5f79601b1c874af1ce732bd8987529c7db2f2f9ca54ba85b SHA512 031c22e2fa7e1c7808f50dc2120a35d10a0b81d30636c5d19146fe12558999517f132213b72c39a32d8cc2c0e14e16ff64cac63ef97f8be0ebe8e709a3de8156
-EBUILD perf-6.10.4.ebuild 9495 BLAKE2B 90bf673dcd8c94531bd534e520077c5a049abca75edea00a85c21e96cffc69a449c9c1eca24072f0ea9e00c192e21fd32fd9407829001168d101e9ef6cb0695f SHA512 3aa795231a233cbc85d1dcb8e0bec426b6ffa42dca128d264f64e15b93dd6fbff83d59c1b4b66fad4b4806783dcc76bb1711a2c2dc26bfa328b3b9d349a13f28
-EBUILD perf-6.10.ebuild 9289 BLAKE2B 31127f741e6ec0ab27723ba29b54d1e6e6da2005a6be2e2ec742f03f377473ba0bdbdd309bdce61b767b737fe665b6fe4bdcb44eb46e92ad073a16e5e991b65f SHA512 a338e422d8fde71bce6e680992901fdf2008ea12e4e2bb7e06e5a135d3d61b6c7dbc74f61d1e4c5b72ee57c3bf4f86443a407b77f3d6f9fc556012f53d528d82
-EBUILD perf-6.11.7.ebuild 9482 BLAKE2B 14e53c3ca76608bd023d4f5283014868ae5ec777591b798a56b4d7cb048cf0538c6201ea066b8a8118acdb4708affe6d3104a41384deb27633c104273d6c4356 SHA512 cf256652e05e538ba5f264dda1849ff42c712994925935536546b7a491fb5c60b49059b17a3b3a1676784ce6155b3601324267b533e1f3722520debed9a8beab
-EBUILD perf-6.11.ebuild 9483 BLAKE2B 39154089a2bd3de3e4f0dfbf1e96dcee10160dab0fca9d9a9acf31e7a94a421a078f8baa593581ab045256f1dfa16abb9ac00896da70bf6fa6db911127326d42 SHA512 d4eb50d0e524b8d11ec034f1bdac2c4cd58ff77cea72f74040c24248b4415905a2d7a9cbec0d55930c944bc5a7694d8d3b1b15587c7ac52bcd53b4709673a2aa
+EBUILD perf-6.11.7.ebuild 9479 BLAKE2B c2157f22e18dab7aabf17463234f1c552298d2e1957c3d7a7b7b0bcf1c6a5c3f6dfafe93f695cf940487d326527f3df6ccf4255eb44ea9bd197dc60b62200e2b SHA512 bc4ada714e1c1db049a5a7c0b8ddddcce087be44118dca6f4acc9c78b35078cd8afc5042fbb6cc6ff518938c7a06159f88a56e0a4111ff13ec97a17636fc75d9
+EBUILD perf-6.12.ebuild 9568 BLAKE2B e14009bc431863b3490abc9b9b015d5625f1fb66b9d9ba3a176a800b1d379af02c2f77f84b6c2c68b46a82ba1ffe686f384a82f054277505b0e0e69efc50dcc8 SHA512 879ea520c3ce4fde5699fdc7d535d3630e170cbcbbd3b5cd376775c47ee48e8b8532bc5933fef5c3f5591e73158ae17805589917a9f72cd5544eaac9ba35be37
EBUILD perf-6.7.ebuild 9089 BLAKE2B 22ca5977135f8b1f411c423697a61e0a4a4582fb9e470c4e816d7a8022f4f90088f640ff5fb4352c963805d3ab5ff9de003f6aa0d0d7b541bc4d788c17ed3df5 SHA512 3d822becfa8100be4e597082cadd51d817358344e79ff65c722c5d1f904cc34fdda0b01ae1ff9417e5b1132b7e13a9271ac21560538bb775b30ef3d5bdd4d247
MISC metadata.xml 1664 BLAKE2B fd151376545e542f591d4a0b06f7a3e51a5e3844a613035fabbeb770a58781ed29cd5d7614560d0f7473b2dec3636e1ca0f736259091371baad96d1bc2ef5d8f SHA512 96d8b853e38317bb526d5d5888b04e706df8dcc37c2ef26a3b047b861f86e33406071d8cebc287fbd09e6e33a2b5e72872b41c3ceb247392adc310f8389c1a26
diff --git a/dev-util/perf/files/perf-6.10-bpf-capstone.patch b/dev-util/perf/files/perf-6.10-bpf-capstone.patch
deleted file mode 100644
index ebae9a3ad080..000000000000
--- a/dev-util/perf/files/perf-6.10-bpf-capstone.patch
+++ /dev/null
@@ -1,456 +0,0 @@
-From a7728af2f25fe99ee72d211bb4ddec17a8601f5f Mon Sep 17 00:00:00 2001
-From: Guilherme Amadio <amadio@gentoo.org>
-Date: Tue, 6 Aug 2024 11:34:05 +0200
-Subject: [PATCH] Fix bug #936439. Replay of upstream commit onto v6.10.
-
-Signed-off-by: Guilherme Amadio <amadio@gentoo.org>
----
- tools/perf/util/Build | 1 +
- tools/perf/util/disasm.c | 187 +--------------------------------
- tools/perf/util/disasm_bpf.c | 197 +++++++++++++++++++++++++++++++++++
- tools/perf/util/disasm_bpf.h | 12 +++
- 4 files changed, 211 insertions(+), 186 deletions(-)
- create mode 100644 tools/perf/util/disasm_bpf.c
- create mode 100644 tools/perf/util/disasm_bpf.h
-
-diff --git a/tools/perf/util/Build b/tools/perf/util/Build
-index da64efd8718f..384c4e06b838 100644
---- a/tools/perf/util/Build
-+++ b/tools/perf/util/Build
-@@ -13,6 +13,7 @@ perf-y += copyfile.o
- perf-y += ctype.o
- perf-y += db-export.o
- perf-y += disasm.o
-+perf-y += disasm_bpf.o
- perf-y += env.o
- perf-y += event.o
- perf-y += evlist.o
-diff --git a/tools/perf/util/disasm.c b/tools/perf/util/disasm.c
-index 72aec8f61b94..766cbd005f32 100644
---- a/tools/perf/util/disasm.c
-+++ b/tools/perf/util/disasm.c
-@@ -15,6 +15,7 @@
- #include "build-id.h"
- #include "debug.h"
- #include "disasm.h"
-+#include "disasm_bpf.h"
- #include "dso.h"
- #include "env.h"
- #include "evsel.h"
-@@ -1164,192 +1165,6 @@ static int dso__disassemble_filename(struct dso *dso, char *filename, size_t fil
- return 0;
- }
-
--#if defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT)
--#define PACKAGE "perf"
--#include <bfd.h>
--#include <dis-asm.h>
--#include <bpf/bpf.h>
--#include <bpf/btf.h>
--#include <bpf/libbpf.h>
--#include <linux/btf.h>
--#include <tools/dis-asm-compat.h>
--
--#include "bpf-event.h"
--#include "bpf-utils.h"
--
--static int symbol__disassemble_bpf(struct symbol *sym,
-- struct annotate_args *args)
--{
-- struct annotation *notes = symbol__annotation(sym);
-- struct bpf_prog_linfo *prog_linfo = NULL;
-- struct bpf_prog_info_node *info_node;
-- int len = sym->end - sym->start;
-- disassembler_ftype disassemble;
-- struct map *map = args->ms.map;
-- struct perf_bpil *info_linear;
-- struct disassemble_info info;
-- struct dso *dso = map__dso(map);
-- int pc = 0, count, sub_id;
-- struct btf *btf = NULL;
-- char tpath[PATH_MAX];
-- size_t buf_size;
-- int nr_skip = 0;
-- char *buf;
-- bfd *bfdf;
-- int ret;
-- FILE *s;
--
-- if (dso->binary_type != DSO_BINARY_TYPE__BPF_PROG_INFO)
-- return SYMBOL_ANNOTATE_ERRNO__BPF_INVALID_FILE;
--
-- pr_debug("%s: handling sym %s addr %" PRIx64 " len %" PRIx64 "\n", __func__,
-- sym->name, sym->start, sym->end - sym->start);
--
-- memset(tpath, 0, sizeof(tpath));
-- perf_exe(tpath, sizeof(tpath));
--
-- bfdf = bfd_openr(tpath, NULL);
-- if (bfdf == NULL)
-- abort();
--
-- if (!bfd_check_format(bfdf, bfd_object))
-- abort();
--
-- s = open_memstream(&buf, &buf_size);
-- if (!s) {
-- ret = errno;
-- goto out;
-- }
-- init_disassemble_info_compat(&info, s,
-- (fprintf_ftype) fprintf,
-- fprintf_styled);
-- info.arch = bfd_get_arch(bfdf);
-- info.mach = bfd_get_mach(bfdf);
--
-- info_node = perf_env__find_bpf_prog_info(dso->bpf_prog.env,
-- dso->bpf_prog.id);
-- if (!info_node) {
-- ret = SYMBOL_ANNOTATE_ERRNO__BPF_MISSING_BTF;
-- goto out;
-- }
-- info_linear = info_node->info_linear;
-- sub_id = dso->bpf_prog.sub_id;
--
-- info.buffer = (void *)(uintptr_t)(info_linear->info.jited_prog_insns);
-- info.buffer_length = info_linear->info.jited_prog_len;
--
-- if (info_linear->info.nr_line_info)
-- prog_linfo = bpf_prog_linfo__new(&info_linear->info);
--
-- if (info_linear->info.btf_id) {
-- struct btf_node *node;
--
-- node = perf_env__find_btf(dso->bpf_prog.env,
-- info_linear->info.btf_id);
-- if (node)
-- btf = btf__new((__u8 *)(node->data),
-- node->data_size);
-- }
--
-- disassemble_init_for_target(&info);
--
--#ifdef DISASM_FOUR_ARGS_SIGNATURE
-- disassemble = disassembler(info.arch,
-- bfd_big_endian(bfdf),
-- info.mach,
-- bfdf);
--#else
-- disassemble = disassembler(bfdf);
--#endif
-- if (disassemble == NULL)
-- abort();
--
-- fflush(s);
-- do {
-- const struct bpf_line_info *linfo = NULL;
-- struct disasm_line *dl;
-- size_t prev_buf_size;
-- const char *srcline;
-- u64 addr;
--
-- addr = pc + ((u64 *)(uintptr_t)(info_linear->info.jited_ksyms))[sub_id];
-- count = disassemble(pc, &info);
--
-- if (prog_linfo)
-- linfo = bpf_prog_linfo__lfind_addr_func(prog_linfo,
-- addr, sub_id,
-- nr_skip);
--
-- if (linfo && btf) {
-- srcline = btf__name_by_offset(btf, linfo->line_off);
-- nr_skip++;
-- } else
-- srcline = NULL;
--
-- fprintf(s, "\n");
-- prev_buf_size = buf_size;
-- fflush(s);
--
-- if (!annotate_opts.hide_src_code && srcline) {
-- args->offset = -1;
-- args->line = strdup(srcline);
-- args->line_nr = 0;
-- args->fileloc = NULL;
-- args->ms.sym = sym;
-- dl = disasm_line__new(args);
-- if (dl) {
-- annotation_line__add(&dl->al,
-- &notes->src->source);
-- }
-- }
--
-- args->offset = pc;
-- args->line = buf + prev_buf_size;
-- args->line_nr = 0;
-- args->fileloc = NULL;
-- args->ms.sym = sym;
-- dl = disasm_line__new(args);
-- if (dl)
-- annotation_line__add(&dl->al, &notes->src->source);
--
-- pc += count;
-- } while (count > 0 && pc < len);
--
-- ret = 0;
--out:
-- free(prog_linfo);
-- btf__free(btf);
-- fclose(s);
-- bfd_close(bfdf);
-- return ret;
--}
--#else // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT)
--static int symbol__disassemble_bpf(struct symbol *sym __maybe_unused,
-- struct annotate_args *args __maybe_unused)
--{
-- return SYMBOL_ANNOTATE_ERRNO__NO_LIBOPCODES_FOR_BPF;
--}
--#endif // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT)
--
--static int
--symbol__disassemble_bpf_image(struct symbol *sym,
-- struct annotate_args *args)
--{
-- struct annotation *notes = symbol__annotation(sym);
-- struct disasm_line *dl;
--
-- args->offset = -1;
-- args->line = strdup("to be implemented");
-- args->line_nr = 0;
-- args->fileloc = NULL;
-- dl = disasm_line__new(args);
-- if (dl)
-- annotation_line__add(&dl->al, &notes->src->source);
--
-- zfree(&args->line);
-- return 0;
--}
--
- #ifdef HAVE_LIBCAPSTONE_SUPPORT
- #include <capstone/capstone.h>
-
-diff --git a/tools/perf/util/disasm_bpf.c b/tools/perf/util/disasm_bpf.c
-new file mode 100644
-index 000000000000..010b961c4ae9
---- /dev/null
-+++ b/tools/perf/util/disasm_bpf.c
-@@ -0,0 +1,197 @@
-+// SPDX-License-Identifier: GPL-2.0-only
-+
-+#include "util/annotate.h"
-+#include "util/disasm_bpf.h"
-+#include "util/symbol.h"
-+#include <linux/zalloc.h>
-+#include <string.h>
-+
-+#if defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT)
-+#define PACKAGE "perf"
-+#include <bfd.h>
-+#include <bpf/bpf.h>
-+#include <bpf/btf.h>
-+#include <bpf/libbpf.h>
-+#include <dis-asm.h>
-+#include <errno.h>
-+#include <linux/btf.h>
-+#include <tools/dis-asm-compat.h>
-+
-+#include "util/bpf-event.h"
-+#include "util/bpf-utils.h"
-+#include "util/debug.h"
-+#include "util/dso.h"
-+#include "util/map.h"
-+#include "util/env.h"
-+#include "util/util.h"
-+
-+int symbol__disassemble_bpf(struct symbol *sym, struct annotate_args *args)
-+{
-+ struct annotation *notes = symbol__annotation(sym);
-+ struct bpf_prog_linfo *prog_linfo = NULL;
-+ struct bpf_prog_info_node *info_node;
-+ int len = sym->end - sym->start;
-+ disassembler_ftype disassemble;
-+ struct map *map = args->ms.map;
-+ struct perf_bpil *info_linear;
-+ struct disassemble_info info;
-+ struct dso *dso = map__dso(map);
-+ int pc = 0, count, sub_id;
-+ struct btf *btf = NULL;
-+ char tpath[PATH_MAX];
-+ size_t buf_size;
-+ int nr_skip = 0;
-+ char *buf;
-+ bfd *bfdf;
-+ int ret;
-+ FILE *s;
-+
-+ if (dso->binary_type != DSO_BINARY_TYPE__BPF_PROG_INFO)
-+ return SYMBOL_ANNOTATE_ERRNO__BPF_INVALID_FILE;
-+
-+ pr_debug("%s: handling sym %s addr %" PRIx64 " len %" PRIx64 "\n", __func__,
-+ sym->name, sym->start, sym->end - sym->start);
-+
-+ memset(tpath, 0, sizeof(tpath));
-+ perf_exe(tpath, sizeof(tpath));
-+
-+ bfdf = bfd_openr(tpath, NULL);
-+ if (bfdf == NULL)
-+ abort();
-+
-+ if (!bfd_check_format(bfdf, bfd_object))
-+ abort();
-+
-+ s = open_memstream(&buf, &buf_size);
-+ if (!s) {
-+ ret = errno;
-+ goto out;
-+ }
-+ init_disassemble_info_compat(&info, s,
-+ (fprintf_ftype) fprintf,
-+ fprintf_styled);
-+ info.arch = bfd_get_arch(bfdf);
-+ info.mach = bfd_get_mach(bfdf);
-+
-+ info_node = perf_env__find_bpf_prog_info(dso->bpf_prog.env,
-+ dso->bpf_prog.id);
-+ if (!info_node) {
-+ ret = SYMBOL_ANNOTATE_ERRNO__BPF_MISSING_BTF;
-+ goto out;
-+ }
-+ info_linear = info_node->info_linear;
-+ sub_id = dso->bpf_prog.sub_id;
-+
-+ info.buffer = (void *)(uintptr_t)(info_linear->info.jited_prog_insns);
-+ info.buffer_length = info_linear->info.jited_prog_len;
-+
-+ if (info_linear->info.nr_line_info)
-+ prog_linfo = bpf_prog_linfo__new(&info_linear->info);
-+
-+ if (info_linear->info.btf_id) {
-+ struct btf_node *node;
-+
-+ node = perf_env__find_btf(dso->bpf_prog.env,
-+ info_linear->info.btf_id);
-+ if (node)
-+ btf = btf__new((__u8 *)(node->data),
-+ node->data_size);
-+ }
-+
-+ disassemble_init_for_target(&info);
-+
-+#ifdef DISASM_FOUR_ARGS_SIGNATURE
-+ disassemble = disassembler(info.arch,
-+ bfd_big_endian(bfdf),
-+ info.mach,
-+ bfdf);
-+#else
-+ disassemble = disassembler(bfdf);
-+#endif
-+ if (disassemble == NULL)
-+ abort();
-+
-+ fflush(s);
-+ do {
-+ const struct bpf_line_info *linfo = NULL;
-+ struct disasm_line *dl;
-+ size_t prev_buf_size;
-+ const char *srcline;
-+ u64 addr;
-+
-+ addr = pc + ((u64 *)(uintptr_t)(info_linear->info.jited_ksyms))[sub_id];
-+ count = disassemble(pc, &info);
-+
-+ if (prog_linfo)
-+ linfo = bpf_prog_linfo__lfind_addr_func(prog_linfo,
-+ addr, sub_id,
-+ nr_skip);
-+
-+ if (linfo && btf) {
-+ srcline = btf__name_by_offset(btf, linfo->line_off);
-+ nr_skip++;
-+ } else
-+ srcline = NULL;
-+
-+ fprintf(s, "\n");
-+ prev_buf_size = buf_size;
-+ fflush(s);
-+
-+ if (!annotate_opts.hide_src_code && srcline) {
-+ args->offset = -1;
-+ args->line = strdup(srcline);
-+ args->line_nr = 0;
-+ args->fileloc = NULL;
-+ args->ms.sym = sym;
-+ dl = disasm_line__new(args);
-+ if (dl) {
-+ annotation_line__add(&dl->al,
-+ &notes->src->source);
-+ }
-+ }
-+
-+ args->offset = pc;
-+ args->line = buf + prev_buf_size;
-+ args->line_nr = 0;
-+ args->fileloc = NULL;
-+ args->ms.sym = sym;
-+ dl = disasm_line__new(args);
-+ if (dl)
-+ annotation_line__add(&dl->al, &notes->src->source);
-+
-+ pc += count;
-+ } while (count > 0 && pc < len);
-+
-+ ret = 0;
-+out:
-+ free(prog_linfo);
-+ btf__free(btf);
-+ fclose(s);
-+ bfd_close(bfdf);
-+ return ret;
-+}
-+#else // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT)
-+int symbol__disassemble_bpf(struct symbol *sym __maybe_unused,
-+ struct annotate_args *args __maybe_unused)
-+{
-+ return SYMBOL_ANNOTATE_ERRNO__NO_LIBOPCODES_FOR_BPF;
-+}
-+#endif // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT)
-+
-+int symbol__disassemble_bpf_image(struct symbol *sym, struct annotate_args *args)
-+{
-+ struct annotation *notes = symbol__annotation(sym);
-+ struct disasm_line *dl;
-+
-+ args->offset = -1;
-+ args->line = strdup("to be implemented");
-+ args->line_nr = 0;
-+ args->fileloc = NULL;
-+ dl = disasm_line__new(args);
-+ if (dl)
-+ annotation_line__add(&dl->al, &notes->src->source);
-+
-+ zfree(&args->line);
-+ return 0;
-+}
-+
-diff --git a/tools/perf/util/disasm_bpf.h b/tools/perf/util/disasm_bpf.h
-new file mode 100644
-index 000000000000..2ecb19545388
---- /dev/null
-+++ b/tools/perf/util/disasm_bpf.h
-@@ -0,0 +1,12 @@
-+// SPDX-License-Identifier: GPL-2.0-only
-+
-+#ifndef __PERF_DISASM_BPF_H
-+#define __PERF_DISASM_BPF_H
-+
-+struct symbol;
-+struct annotate_args;
-+
-+int symbol__disassemble_bpf(struct symbol *sym, struct annotate_args *args);
-+int symbol__disassemble_bpf_image(struct symbol *sym, struct annotate_args *args);
-+
-+#endif /* __PERF_DISASM_BPF_H */
---
-2.45.2
-
diff --git a/dev-util/perf/files/perf-6.10-expr.patch b/dev-util/perf/files/perf-6.10-expr.patch
deleted file mode 100644
index b4220a062f61..000000000000
--- a/dev-util/perf/files/perf-6.10-expr.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
-index bc980fd..a7f1e1e 100644
---- a/tools/perf/Makefile.config
-+++ b/tools/perf/Makefile.config
-@@ -1184,7 +1184,7 @@ ifneq ($(NO_LIBTRACEEVENT),1)
- CFLAGS += -DHAVE_LIBTRACEEVENT $(LIBTRACEEVENT_CFLAGS)
- LDFLAGS += $(LIBTRACEEVENT_LDFLAGS)
- EXTLIBS += ${TRACEEVENTLIBS}
-- LIBTRACEEVENT_VERSION := $(shell PKG_CONFIG_PATH=$(LIBTRACEEVENT_DIR) $(PKG_CONFIG) --modversion libtraceevent)
-+ LIBTRACEEVENT_VERSION := $(shell PKG_CONFIG_PATH=$(LIBTRACEEVENT_DIR) $(PKG_CONFIG) --modversion libtraceevent).0
- LIBTRACEEVENT_VERSION_1 := $(word 1, $(subst ., ,$(LIBTRACEEVENT_VERSION)))
- LIBTRACEEVENT_VERSION_2 := $(word 2, $(subst ., ,$(LIBTRACEEVENT_VERSION)))
- LIBTRACEEVENT_VERSION_3 := $(word 3, $(subst ., ,$(LIBTRACEEVENT_VERSION)))
-@@ -1198,7 +1198,7 @@ ifneq ($(NO_LIBTRACEEVENT),1)
- $(call feature_check,libtracefs)
- ifeq ($(feature-libtracefs), 1)
- EXTLIBS += -ltracefs
-- LIBTRACEFS_VERSION := $(shell $(PKG_CONFIG) --modversion libtracefs)
-+ LIBTRACEFS_VERSION := $(shell $(PKG_CONFIG) --modversion libtracefs).0
- LIBTRACEFS_VERSION_1 := $(word 1, $(subst ., ,$(LIBTRACEFS_VERSION)))
- LIBTRACEFS_VERSION_2 := $(word 2, $(subst ., ,$(LIBTRACEFS_VERSION)))
- LIBTRACEFS_VERSION_3 := $(word 3, $(subst ., ,$(LIBTRACEFS_VERSION)))
diff --git a/dev-util/perf/files/perf-6.10.3-bpf-capstone.patch b/dev-util/perf/files/perf-6.10.3-bpf-capstone.patch
deleted file mode 100644
index 57b298d8ccd7..000000000000
--- a/dev-util/perf/files/perf-6.10.3-bpf-capstone.patch
+++ /dev/null
@@ -1,455 +0,0 @@
-From b382a433e0178d3840a8fb4b05ba3dbecba075fa Mon Sep 17 00:00:00 2001
-From: Guilherme Amadio <amadio@gentoo.org>
-Date: Tue, 6 Aug 2024 11:34:05 +0200
-Subject: [PATCH] Fix bug #936439. Replay of upstream commit onto v6.10.3.
-
-Signed-off-by: Guilherme Amadio <amadio@gentoo.org>
----
- tools/perf/util/Build | 1 +
- tools/perf/util/disasm.c | 187 +--------------------------------
- tools/perf/util/disasm_bpf.c | 196 +++++++++++++++++++++++++++++++++++
- tools/perf/util/disasm_bpf.h | 12 +++
- 4 files changed, 210 insertions(+), 186 deletions(-)
- create mode 100644 tools/perf/util/disasm_bpf.c
- create mode 100644 tools/perf/util/disasm_bpf.h
-
-diff --git a/tools/perf/util/Build b/tools/perf/util/Build
-index da64efd8718f..384c4e06b838 100644
---- a/tools/perf/util/Build
-+++ b/tools/perf/util/Build
-@@ -13,6 +13,7 @@ perf-y += copyfile.o
- perf-y += ctype.o
- perf-y += db-export.o
- perf-y += disasm.o
-+perf-y += disasm_bpf.o
- perf-y += env.o
- perf-y += event.o
- perf-y += evlist.o
-diff --git a/tools/perf/util/disasm.c b/tools/perf/util/disasm.c
-index e10558b79504..766cbd005f32 100644
---- a/tools/perf/util/disasm.c
-+++ b/tools/perf/util/disasm.c
-@@ -15,6 +15,7 @@
- #include "build-id.h"
- #include "debug.h"
- #include "disasm.h"
-+#include "disasm_bpf.h"
- #include "dso.h"
- #include "env.h"
- #include "evsel.h"
-@@ -1164,192 +1165,6 @@ static int dso__disassemble_filename(struct dso *dso, char *filename, size_t fil
- return 0;
- }
-
--#if defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT)
--#define PACKAGE "perf"
--#include <bfd.h>
--#include <dis-asm.h>
--#include <bpf/bpf.h>
--#include <bpf/btf.h>
--#include <bpf/libbpf.h>
--#include <linux/btf.h>
--#include <tools/dis-asm-compat.h>
--
--#include "bpf-event.h"
--#include "bpf-utils.h"
--
--static int symbol__disassemble_bpf(struct symbol *sym,
-- struct annotate_args *args)
--{
-- struct annotation *notes = symbol__annotation(sym);
-- struct bpf_prog_linfo *prog_linfo = NULL;
-- struct bpf_prog_info_node *info_node;
-- int len = sym->end - sym->start;
-- disassembler_ftype disassemble;
-- struct map *map = args->ms.map;
-- struct perf_bpil *info_linear;
-- struct disassemble_info info;
-- struct dso *dso = map__dso(map);
-- int pc = 0, count, sub_id;
-- struct btf *btf = NULL;
-- char tpath[PATH_MAX];
-- size_t buf_size;
-- int nr_skip = 0;
-- char *buf;
-- bfd *bfdf;
-- int ret;
-- FILE *s;
--
-- if (dso__binary_type(dso) != DSO_BINARY_TYPE__BPF_PROG_INFO)
-- return SYMBOL_ANNOTATE_ERRNO__BPF_INVALID_FILE;
--
-- pr_debug("%s: handling sym %s addr %" PRIx64 " len %" PRIx64 "\n", __func__,
-- sym->name, sym->start, sym->end - sym->start);
--
-- memset(tpath, 0, sizeof(tpath));
-- perf_exe(tpath, sizeof(tpath));
--
-- bfdf = bfd_openr(tpath, NULL);
-- if (bfdf == NULL)
-- abort();
--
-- if (!bfd_check_format(bfdf, bfd_object))
-- abort();
--
-- s = open_memstream(&buf, &buf_size);
-- if (!s) {
-- ret = errno;
-- goto out;
-- }
-- init_disassemble_info_compat(&info, s,
-- (fprintf_ftype) fprintf,
-- fprintf_styled);
-- info.arch = bfd_get_arch(bfdf);
-- info.mach = bfd_get_mach(bfdf);
--
-- info_node = perf_env__find_bpf_prog_info(dso__bpf_prog(dso)->env,
-- dso__bpf_prog(dso)->id);
-- if (!info_node) {
-- ret = SYMBOL_ANNOTATE_ERRNO__BPF_MISSING_BTF;
-- goto out;
-- }
-- info_linear = info_node->info_linear;
-- sub_id = dso__bpf_prog(dso)->sub_id;
--
-- info.buffer = (void *)(uintptr_t)(info_linear->info.jited_prog_insns);
-- info.buffer_length = info_linear->info.jited_prog_len;
--
-- if (info_linear->info.nr_line_info)
-- prog_linfo = bpf_prog_linfo__new(&info_linear->info);
--
-- if (info_linear->info.btf_id) {
-- struct btf_node *node;
--
-- node = perf_env__find_btf(dso__bpf_prog(dso)->env,
-- info_linear->info.btf_id);
-- if (node)
-- btf = btf__new((__u8 *)(node->data),
-- node->data_size);
-- }
--
-- disassemble_init_for_target(&info);
--
--#ifdef DISASM_FOUR_ARGS_SIGNATURE
-- disassemble = disassembler(info.arch,
-- bfd_big_endian(bfdf),
-- info.mach,
-- bfdf);
--#else
-- disassemble = disassembler(bfdf);
--#endif
-- if (disassemble == NULL)
-- abort();
--
-- fflush(s);
-- do {
-- const struct bpf_line_info *linfo = NULL;
-- struct disasm_line *dl;
-- size_t prev_buf_size;
-- const char *srcline;
-- u64 addr;
--
-- addr = pc + ((u64 *)(uintptr_t)(info_linear->info.jited_ksyms))[sub_id];
-- count = disassemble(pc, &info);
--
-- if (prog_linfo)
-- linfo = bpf_prog_linfo__lfind_addr_func(prog_linfo,
-- addr, sub_id,
-- nr_skip);
--
-- if (linfo && btf) {
-- srcline = btf__name_by_offset(btf, linfo->line_off);
-- nr_skip++;
-- } else
-- srcline = NULL;
--
-- fprintf(s, "\n");
-- prev_buf_size = buf_size;
-- fflush(s);
--
-- if (!annotate_opts.hide_src_code && srcline) {
-- args->offset = -1;
-- args->line = strdup(srcline);
-- args->line_nr = 0;
-- args->fileloc = NULL;
-- args->ms.sym = sym;
-- dl = disasm_line__new(args);
-- if (dl) {
-- annotation_line__add(&dl->al,
-- &notes->src->source);
-- }
-- }
--
-- args->offset = pc;
-- args->line = buf + prev_buf_size;
-- args->line_nr = 0;
-- args->fileloc = NULL;
-- args->ms.sym = sym;
-- dl = disasm_line__new(args);
-- if (dl)
-- annotation_line__add(&dl->al, &notes->src->source);
--
-- pc += count;
-- } while (count > 0 && pc < len);
--
-- ret = 0;
--out:
-- free(prog_linfo);
-- btf__free(btf);
-- fclose(s);
-- bfd_close(bfdf);
-- return ret;
--}
--#else // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT)
--static int symbol__disassemble_bpf(struct symbol *sym __maybe_unused,
-- struct annotate_args *args __maybe_unused)
--{
-- return SYMBOL_ANNOTATE_ERRNO__NO_LIBOPCODES_FOR_BPF;
--}
--#endif // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT)
--
--static int
--symbol__disassemble_bpf_image(struct symbol *sym,
-- struct annotate_args *args)
--{
-- struct annotation *notes = symbol__annotation(sym);
-- struct disasm_line *dl;
--
-- args->offset = -1;
-- args->line = strdup("to be implemented");
-- args->line_nr = 0;
-- args->fileloc = NULL;
-- dl = disasm_line__new(args);
-- if (dl)
-- annotation_line__add(&dl->al, &notes->src->source);
--
-- zfree(&args->line);
-- return 0;
--}
--
- #ifdef HAVE_LIBCAPSTONE_SUPPORT
- #include <capstone/capstone.h>
-
-diff --git a/tools/perf/util/disasm_bpf.c b/tools/perf/util/disasm_bpf.c
-new file mode 100644
-index 000000000000..c76a7d2be1a7
---- /dev/null
-+++ b/tools/perf/util/disasm_bpf.c
-@@ -0,0 +1,196 @@
-+// SPDX-License-Identifier: GPL-2.0-only
-+
-+#include "util/annotate.h"
-+#include "util/disasm_bpf.h"
-+#include "util/symbol.h"
-+#include <linux/zalloc.h>
-+#include <string.h>
-+
-+#if defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT)
-+#define PACKAGE "perf"
-+#include <bfd.h>
-+#include <bpf/bpf.h>
-+#include <bpf/btf.h>
-+#include <bpf/libbpf.h>
-+#include <dis-asm.h>
-+#include <errno.h>
-+#include <linux/btf.h>
-+#include <tools/dis-asm-compat.h>
-+
-+#include "util/bpf-event.h"
-+#include "util/bpf-utils.h"
-+#include "util/debug.h"
-+#include "util/dso.h"
-+#include "util/map.h"
-+#include "util/env.h"
-+#include "util/util.h"
-+
-+int symbol__disassemble_bpf(struct symbol *sym, struct annotate_args *args)
-+{
-+ struct annotation *notes = symbol__annotation(sym);
-+ struct bpf_prog_linfo *prog_linfo = NULL;
-+ struct bpf_prog_info_node *info_node;
-+ int len = sym->end - sym->start;
-+ disassembler_ftype disassemble;
-+ struct map *map = args->ms.map;
-+ struct perf_bpil *info_linear;
-+ struct disassemble_info info;
-+ struct dso *dso = map__dso(map);
-+ int pc = 0, count, sub_id;
-+ struct btf *btf = NULL;
-+ char tpath[PATH_MAX];
-+ size_t buf_size;
-+ int nr_skip = 0;
-+ char *buf;
-+ bfd *bfdf;
-+ int ret;
-+ FILE *s;
-+
-+ if (dso__binary_type(dso) != DSO_BINARY_TYPE__BPF_PROG_INFO)
-+ return SYMBOL_ANNOTATE_ERRNO__BPF_INVALID_FILE;
-+
-+ pr_debug("%s: handling sym %s addr %" PRIx64 " len %" PRIx64 "\n", __func__,
-+ sym->name, sym->start, sym->end - sym->start);
-+
-+ memset(tpath, 0, sizeof(tpath));
-+ perf_exe(tpath, sizeof(tpath));
-+
-+ bfdf = bfd_openr(tpath, NULL);
-+ if (bfdf == NULL)
-+ abort();
-+
-+ if (!bfd_check_format(bfdf, bfd_object))
-+ abort();
-+
-+ s = open_memstream(&buf, &buf_size);
-+ if (!s) {
-+ ret = errno;
-+ goto out;
-+ }
-+ init_disassemble_info_compat(&info, s,
-+ (fprintf_ftype) fprintf,
-+ fprintf_styled);
-+ info.arch = bfd_get_arch(bfdf);
-+ info.mach = bfd_get_mach(bfdf);
-+
-+ info_node = perf_env__find_bpf_prog_info(dso__bpf_prog(dso)->env,
-+ dso__bpf_prog(dso)->id);
-+ if (!info_node) {
-+ ret = SYMBOL_ANNOTATE_ERRNO__BPF_MISSING_BTF;
-+ goto out;
-+ }
-+ info_linear = info_node->info_linear;
-+ sub_id = dso__bpf_prog(dso)->sub_id;
-+
-+ info.buffer = (void *)(uintptr_t)(info_linear->info.jited_prog_insns);
-+ info.buffer_length = info_linear->info.jited_prog_len;
-+
-+ if (info_linear->info.nr_line_info)
-+ prog_linfo = bpf_prog_linfo__new(&info_linear->info);
-+
-+ if (info_linear->info.btf_id) {
-+ struct btf_node *node;
-+
-+ node = perf_env__find_btf(dso__bpf_prog(dso)->env,
-+ info_linear->info.btf_id);
-+ if (node)
-+ btf = btf__new((__u8 *)(node->data),
-+ node->data_size);
-+ }
-+
-+ disassemble_init_for_target(&info);
-+
-+#ifdef DISASM_FOUR_ARGS_SIGNATURE
-+ disassemble = disassembler(info.arch,
-+ bfd_big_endian(bfdf),
-+ info.mach,
-+ bfdf);
-+#else
-+ disassemble = disassembler(bfdf);
-+#endif
-+ if (disassemble == NULL)
-+ abort();
-+
-+ fflush(s);
-+ do {
-+ const struct bpf_line_info *linfo = NULL;
-+ struct disasm_line *dl;
-+ size_t prev_buf_size;
-+ const char *srcline;
-+ u64 addr;
-+
-+ addr = pc + ((u64 *)(uintptr_t)(info_linear->info.jited_ksyms))[sub_id];
-+ count = disassemble(pc, &info);
-+
-+ if (prog_linfo)
-+ linfo = bpf_prog_linfo__lfind_addr_func(prog_linfo,
-+ addr, sub_id,
-+ nr_skip);
-+
-+ if (linfo && btf) {
-+ srcline = btf__name_by_offset(btf, linfo->line_off);
-+ nr_skip++;
-+ } else
-+ srcline = NULL;
-+
-+ fprintf(s, "\n");
-+ prev_buf_size = buf_size;
-+ fflush(s);
-+
-+ if (!annotate_opts.hide_src_code && srcline) {
-+ args->offset = -1;
-+ args->line = strdup(srcline);
-+ args->line_nr = 0;
-+ args->fileloc = NULL;
-+ args->ms.sym = sym;
-+ dl = disasm_line__new(args);
-+ if (dl) {
-+ annotation_line__add(&dl->al,
-+ &notes->src->source);
-+ }
-+ }
-+
-+ args->offset = pc;
-+ args->line = buf + prev_buf_size;
-+ args->line_nr = 0;
-+ args->fileloc = NULL;
-+ args->ms.sym = sym;
-+ dl = disasm_line__new(args);
-+ if (dl)
-+ annotation_line__add(&dl->al, &notes->src->source);
-+
-+ pc += count;
-+ } while (count > 0 && pc < len);
-+
-+ ret = 0;
-+out:
-+ free(prog_linfo);
-+ btf__free(btf);
-+ fclose(s);
-+ bfd_close(bfdf);
-+ return ret;
-+}
-+#else // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT)
-+int symbol__disassemble_bpf(struct symbol *sym __maybe_unused, struct annotate_args *args __maybe_unused)
-+{
-+ return SYMBOL_ANNOTATE_ERRNO__NO_LIBOPCODES_FOR_BPF;
-+}
-+#endif // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT)
-+
-+int
-+symbol__disassemble_bpf_image(struct symbol *sym, struct annotate_args *args)
-+{
-+ struct annotation *notes = symbol__annotation(sym);
-+ struct disasm_line *dl;
-+
-+ args->offset = -1;
-+ args->line = strdup("to be implemented");
-+ args->line_nr = 0;
-+ args->fileloc = NULL;
-+ dl = disasm_line__new(args);
-+ if (dl)
-+ annotation_line__add(&dl->al, &notes->src->source);
-+
-+ zfree(&args->line);
-+ return 0;
-+}
-diff --git a/tools/perf/util/disasm_bpf.h b/tools/perf/util/disasm_bpf.h
-new file mode 100644
-index 000000000000..2ecb19545388
---- /dev/null
-+++ b/tools/perf/util/disasm_bpf.h
-@@ -0,0 +1,12 @@
-+// SPDX-License-Identifier: GPL-2.0-only
-+
-+#ifndef __PERF_DISASM_BPF_H
-+#define __PERF_DISASM_BPF_H
-+
-+struct symbol;
-+struct annotate_args;
-+
-+int symbol__disassemble_bpf(struct symbol *sym, struct annotate_args *args);
-+int symbol__disassemble_bpf_image(struct symbol *sym, struct annotate_args *args);
-+
-+#endif /* __PERF_DISASM_BPF_H */
---
-2.45.2
-
diff --git a/dev-util/perf/files/perf-6.11-bpf-capstone.patch b/dev-util/perf/files/perf-6.11-bpf-capstone.patch
deleted file mode 100644
index 7d8b376869f3..000000000000
--- a/dev-util/perf/files/perf-6.11-bpf-capstone.patch
+++ /dev/null
@@ -1,469 +0,0 @@
-commit ea59b70a8418a313d6f2ab48a957de015fc33018
-Author: Arnaldo Carvalho de Melo <acme@redhat.com>
-Date: Wed Jul 31 11:58:56 2024 -0300
-
- perf bpf: Move BPF disassembly routines to separate file to avoid clash with capstone bpf headers
-
- There is a clash of the libbpf and capstone libraries, that ends up
- with:
-
- In file included from /usr/include/capstone/capstone.h:325,
- from util/disasm.c:1513:
- /usr/include/capstone/bpf.h:94:14: error: ‘bpf_insn’ defined as wrong kind of tag
- 94 | typedef enum bpf_insn {
-
- So far we're just trying to avoid this by not having both headers
- included in the same .c or .h file, do it one more time by moving the
- BPF diassembly routines from util/disasm.c to util/disasm_bpf.c.
-
- This is only being hit when building with BUILD_NONDISTRO=1, i.e.
- building with binutils-devel, that isn't the in the default build due to
- a licencing clash. We need to reimplement what is now isolated in
- util/disasm_bpf.c using some other library to have BPF annotation
- feature that now only is available with BUILD_NONDISTRO=1.
-
- Fixes: 6d17edc113de1e21 ("perf annotate: Use libcapstone to disassemble")
- Cc: Adrian Hunter <adrian.hunter@intel.com>
- Cc: Ian Rogers <irogers@google.com>
- Cc: Jiri Olsa <jolsa@kernel.org>
- Cc: Kan Liang <kan.liang@linux.intel.com>
- Cc: Namhyung Kim <namhyung@kernel.org>
- Link: https://lore.kernel.org/lkml/ZqpUSKPxMwaQKORr@x1
- Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-
-diff --git a/tools/perf/util/Build b/tools/perf/util/Build
-index 0f18fe81ef0b..b24360c04aae 100644
---- a/tools/perf/util/Build
-+++ b/tools/perf/util/Build
-@@ -13,6 +13,7 @@ perf-util-y += copyfile.o
- perf-util-y += ctype.o
- perf-util-y += db-export.o
- perf-util-y += disasm.o
-+perf-util-y += disasm_bpf.o
- perf-util-y += env.o
- perf-util-y += event.o
- perf-util-y += evlist.o
-diff --git a/tools/perf/util/disasm.c b/tools/perf/util/disasm.c
-index 410e52cd9cfd..85fb0cfedf94 100644
---- a/tools/perf/util/disasm.c
-+++ b/tools/perf/util/disasm.c
-@@ -16,6 +16,7 @@
- #include "build-id.h"
- #include "debug.h"
- #include "disasm.h"
-+#include "disasm_bpf.h"
- #include "dso.h"
- #include "env.h"
- #include "evsel.h"
-@@ -1323,192 +1324,6 @@ static int dso__disassemble_filename(struct dso *dso, char *filename, size_t fil
- return 0;
- }
-
--#if defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT)
--#define PACKAGE "perf"
--#include <bfd.h>
--#include <dis-asm.h>
--#include <bpf/bpf.h>
--#include <bpf/btf.h>
--#include <bpf/libbpf.h>
--#include <linux/btf.h>
--#include <tools/dis-asm-compat.h>
--
--#include "bpf-event.h"
--#include "bpf-utils.h"
--
--static int symbol__disassemble_bpf(struct symbol *sym,
-- struct annotate_args *args)
--{
-- struct annotation *notes = symbol__annotation(sym);
-- struct bpf_prog_linfo *prog_linfo = NULL;
-- struct bpf_prog_info_node *info_node;
-- int len = sym->end - sym->start;
-- disassembler_ftype disassemble;
-- struct map *map = args->ms.map;
-- struct perf_bpil *info_linear;
-- struct disassemble_info info;
-- struct dso *dso = map__dso(map);
-- int pc = 0, count, sub_id;
-- struct btf *btf = NULL;
-- char tpath[PATH_MAX];
-- size_t buf_size;
-- int nr_skip = 0;
-- char *buf;
-- bfd *bfdf;
-- int ret;
-- FILE *s;
--
-- if (dso__binary_type(dso) != DSO_BINARY_TYPE__BPF_PROG_INFO)
-- return SYMBOL_ANNOTATE_ERRNO__BPF_INVALID_FILE;
--
-- pr_debug("%s: handling sym %s addr %" PRIx64 " len %" PRIx64 "\n", __func__,
-- sym->name, sym->start, sym->end - sym->start);
--
-- memset(tpath, 0, sizeof(tpath));
-- perf_exe(tpath, sizeof(tpath));
--
-- bfdf = bfd_openr(tpath, NULL);
-- if (bfdf == NULL)
-- abort();
--
-- if (!bfd_check_format(bfdf, bfd_object))
-- abort();
--
-- s = open_memstream(&buf, &buf_size);
-- if (!s) {
-- ret = errno;
-- goto out;
-- }
-- init_disassemble_info_compat(&info, s,
-- (fprintf_ftype) fprintf,
-- fprintf_styled);
-- info.arch = bfd_get_arch(bfdf);
-- info.mach = bfd_get_mach(bfdf);
--
-- info_node = perf_env__find_bpf_prog_info(dso__bpf_prog(dso)->env,
-- dso__bpf_prog(dso)->id);
-- if (!info_node) {
-- ret = SYMBOL_ANNOTATE_ERRNO__BPF_MISSING_BTF;
-- goto out;
-- }
-- info_linear = info_node->info_linear;
-- sub_id = dso__bpf_prog(dso)->sub_id;
--
-- info.buffer = (void *)(uintptr_t)(info_linear->info.jited_prog_insns);
-- info.buffer_length = info_linear->info.jited_prog_len;
--
-- if (info_linear->info.nr_line_info)
-- prog_linfo = bpf_prog_linfo__new(&info_linear->info);
--
-- if (info_linear->info.btf_id) {
-- struct btf_node *node;
--
-- node = perf_env__find_btf(dso__bpf_prog(dso)->env,
-- info_linear->info.btf_id);
-- if (node)
-- btf = btf__new((__u8 *)(node->data),
-- node->data_size);
-- }
--
-- disassemble_init_for_target(&info);
--
--#ifdef DISASM_FOUR_ARGS_SIGNATURE
-- disassemble = disassembler(info.arch,
-- bfd_big_endian(bfdf),
-- info.mach,
-- bfdf);
--#else
-- disassemble = disassembler(bfdf);
--#endif
-- if (disassemble == NULL)
-- abort();
--
-- fflush(s);
-- do {
-- const struct bpf_line_info *linfo = NULL;
-- struct disasm_line *dl;
-- size_t prev_buf_size;
-- const char *srcline;
-- u64 addr;
--
-- addr = pc + ((u64 *)(uintptr_t)(info_linear->info.jited_ksyms))[sub_id];
-- count = disassemble(pc, &info);
--
-- if (prog_linfo)
-- linfo = bpf_prog_linfo__lfind_addr_func(prog_linfo,
-- addr, sub_id,
-- nr_skip);
--
-- if (linfo && btf) {
-- srcline = btf__name_by_offset(btf, linfo->line_off);
-- nr_skip++;
-- } else
-- srcline = NULL;
--
-- fprintf(s, "\n");
-- prev_buf_size = buf_size;
-- fflush(s);
--
-- if (!annotate_opts.hide_src_code && srcline) {
-- args->offset = -1;
-- args->line = strdup(srcline);
-- args->line_nr = 0;
-- args->fileloc = NULL;
-- args->ms.sym = sym;
-- dl = disasm_line__new(args);
-- if (dl) {
-- annotation_line__add(&dl->al,
-- &notes->src->source);
-- }
-- }
--
-- args->offset = pc;
-- args->line = buf + prev_buf_size;
-- args->line_nr = 0;
-- args->fileloc = NULL;
-- args->ms.sym = sym;
-- dl = disasm_line__new(args);
-- if (dl)
-- annotation_line__add(&dl->al, &notes->src->source);
--
-- pc += count;
-- } while (count > 0 && pc < len);
--
-- ret = 0;
--out:
-- free(prog_linfo);
-- btf__free(btf);
-- fclose(s);
-- bfd_close(bfdf);
-- return ret;
--}
--#else // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT)
--static int symbol__disassemble_bpf(struct symbol *sym __maybe_unused,
-- struct annotate_args *args __maybe_unused)
--{
-- return SYMBOL_ANNOTATE_ERRNO__NO_LIBOPCODES_FOR_BPF;
--}
--#endif // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT)
--
--static int
--symbol__disassemble_bpf_image(struct symbol *sym,
-- struct annotate_args *args)
--{
-- struct annotation *notes = symbol__annotation(sym);
-- struct disasm_line *dl;
--
-- args->offset = -1;
-- args->line = strdup("to be implemented");
-- args->line_nr = 0;
-- args->fileloc = NULL;
-- dl = disasm_line__new(args);
-- if (dl)
-- annotation_line__add(&dl->al, &notes->src->source);
--
-- zfree(&args->line);
-- return 0;
--}
--
- #ifdef HAVE_LIBCAPSTONE_SUPPORT
- #include <capstone/capstone.h>
-
-diff --git a/tools/perf/util/disasm_bpf.c b/tools/perf/util/disasm_bpf.c
-new file mode 100644
-index 000000000000..1fee71c79b62
---- /dev/null
-+++ b/tools/perf/util/disasm_bpf.c
-@@ -0,0 +1,195 @@
-+// SPDX-License-Identifier: GPL-2.0-only
-+
-+#include "util/annotate.h"
-+#include "util/disasm_bpf.h"
-+#include "util/symbol.h"
-+#include <linux/zalloc.h>
-+#include <string.h>
-+
-+#if defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT)
-+#define PACKAGE "perf"
-+#include <bfd.h>
-+#include <bpf/bpf.h>
-+#include <bpf/btf.h>
-+#include <bpf/libbpf.h>
-+#include <dis-asm.h>
-+#include <errno.h>
-+#include <linux/btf.h>
-+#include <tools/dis-asm-compat.h>
-+
-+#include "util/bpf-event.h"
-+#include "util/bpf-utils.h"
-+#include "util/debug.h"
-+#include "util/dso.h"
-+#include "util/map.h"
-+#include "util/env.h"
-+#include "util/util.h"
-+
-+int symbol__disassemble_bpf(struct symbol *sym, struct annotate_args *args)
-+{
-+ struct annotation *notes = symbol__annotation(sym);
-+ struct bpf_prog_linfo *prog_linfo = NULL;
-+ struct bpf_prog_info_node *info_node;
-+ int len = sym->end - sym->start;
-+ disassembler_ftype disassemble;
-+ struct map *map = args->ms.map;
-+ struct perf_bpil *info_linear;
-+ struct disassemble_info info;
-+ struct dso *dso = map__dso(map);
-+ int pc = 0, count, sub_id;
-+ struct btf *btf = NULL;
-+ char tpath[PATH_MAX];
-+ size_t buf_size;
-+ int nr_skip = 0;
-+ char *buf;
-+ bfd *bfdf;
-+ int ret;
-+ FILE *s;
-+
-+ if (dso__binary_type(dso) != DSO_BINARY_TYPE__BPF_PROG_INFO)
-+ return SYMBOL_ANNOTATE_ERRNO__BPF_INVALID_FILE;
-+
-+ pr_debug("%s: handling sym %s addr %" PRIx64 " len %" PRIx64 "\n", __func__,
-+ sym->name, sym->start, sym->end - sym->start);
-+
-+ memset(tpath, 0, sizeof(tpath));
-+ perf_exe(tpath, sizeof(tpath));
-+
-+ bfdf = bfd_openr(tpath, NULL);
-+ if (bfdf == NULL)
-+ abort();
-+
-+ if (!bfd_check_format(bfdf, bfd_object))
-+ abort();
-+
-+ s = open_memstream(&buf, &buf_size);
-+ if (!s) {
-+ ret = errno;
-+ goto out;
-+ }
-+ init_disassemble_info_compat(&info, s,
-+ (fprintf_ftype) fprintf,
-+ fprintf_styled);
-+ info.arch = bfd_get_arch(bfdf);
-+ info.mach = bfd_get_mach(bfdf);
-+
-+ info_node = perf_env__find_bpf_prog_info(dso__bpf_prog(dso)->env,
-+ dso__bpf_prog(dso)->id);
-+ if (!info_node) {
-+ ret = SYMBOL_ANNOTATE_ERRNO__BPF_MISSING_BTF;
-+ goto out;
-+ }
-+ info_linear = info_node->info_linear;
-+ sub_id = dso__bpf_prog(dso)->sub_id;
-+
-+ info.buffer = (void *)(uintptr_t)(info_linear->info.jited_prog_insns);
-+ info.buffer_length = info_linear->info.jited_prog_len;
-+
-+ if (info_linear->info.nr_line_info)
-+ prog_linfo = bpf_prog_linfo__new(&info_linear->info);
-+
-+ if (info_linear->info.btf_id) {
-+ struct btf_node *node;
-+
-+ node = perf_env__find_btf(dso__bpf_prog(dso)->env,
-+ info_linear->info.btf_id);
-+ if (node)
-+ btf = btf__new((__u8 *)(node->data),
-+ node->data_size);
-+ }
-+
-+ disassemble_init_for_target(&info);
-+
-+#ifdef DISASM_FOUR_ARGS_SIGNATURE
-+ disassemble = disassembler(info.arch,
-+ bfd_big_endian(bfdf),
-+ info.mach,
-+ bfdf);
-+#else
-+ disassemble = disassembler(bfdf);
-+#endif
-+ if (disassemble == NULL)
-+ abort();
-+
-+ fflush(s);
-+ do {
-+ const struct bpf_line_info *linfo = NULL;
-+ struct disasm_line *dl;
-+ size_t prev_buf_size;
-+ const char *srcline;
-+ u64 addr;
-+
-+ addr = pc + ((u64 *)(uintptr_t)(info_linear->info.jited_ksyms))[sub_id];
-+ count = disassemble(pc, &info);
-+
-+ if (prog_linfo)
-+ linfo = bpf_prog_linfo__lfind_addr_func(prog_linfo,
-+ addr, sub_id,
-+ nr_skip);
-+
-+ if (linfo && btf) {
-+ srcline = btf__name_by_offset(btf, linfo->line_off);
-+ nr_skip++;
-+ } else
-+ srcline = NULL;
-+
-+ fprintf(s, "\n");
-+ prev_buf_size = buf_size;
-+ fflush(s);
-+
-+ if (!annotate_opts.hide_src_code && srcline) {
-+ args->offset = -1;
-+ args->line = strdup(srcline);
-+ args->line_nr = 0;
-+ args->fileloc = NULL;
-+ args->ms.sym = sym;
-+ dl = disasm_line__new(args);
-+ if (dl) {
-+ annotation_line__add(&dl->al,
-+ &notes->src->source);
-+ }
-+ }
-+
-+ args->offset = pc;
-+ args->line = buf + prev_buf_size;
-+ args->line_nr = 0;
-+ args->fileloc = NULL;
-+ args->ms.sym = sym;
-+ dl = disasm_line__new(args);
-+ if (dl)
-+ annotation_line__add(&dl->al, &notes->src->source);
-+
-+ pc += count;
-+ } while (count > 0 && pc < len);
-+
-+ ret = 0;
-+out:
-+ free(prog_linfo);
-+ btf__free(btf);
-+ fclose(s);
-+ bfd_close(bfdf);
-+ return ret;
-+}
-+#else // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT)
-+int symbol__disassemble_bpf(struct symbol *sym __maybe_unused, struct annotate_args *args __maybe_unused)
-+{
-+ return SYMBOL_ANNOTATE_ERRNO__NO_LIBOPCODES_FOR_BPF;
-+}
-+#endif // defined(HAVE_LIBBFD_SUPPORT) && defined(HAVE_LIBBPF_SUPPORT)
-+
-+int symbol__disassemble_bpf_image(struct symbol *sym, struct annotate_args *args)
-+{
-+ struct annotation *notes = symbol__annotation(sym);
-+ struct disasm_line *dl;
-+
-+ args->offset = -1;
-+ args->line = strdup("to be implemented");
-+ args->line_nr = 0;
-+ args->fileloc = NULL;
-+ dl = disasm_line__new(args);
-+ if (dl)
-+ annotation_line__add(&dl->al, &notes->src->source);
-+
-+ zfree(&args->line);
-+ return 0;
-+}
-diff --git a/tools/perf/util/disasm_bpf.h b/tools/perf/util/disasm_bpf.h
-new file mode 100644
-index 000000000000..2ecb19545388
---- /dev/null
-+++ b/tools/perf/util/disasm_bpf.h
-@@ -0,0 +1,12 @@
-+// SPDX-License-Identifier: GPL-2.0-only
-+
-+#ifndef __PERF_DISASM_BPF_H
-+#define __PERF_DISASM_BPF_H
-+
-+struct symbol;
-+struct annotate_args;
-+
-+int symbol__disassemble_bpf(struct symbol *sym, struct annotate_args *args);
-+int symbol__disassemble_bpf_image(struct symbol *sym, struct annotate_args *args);
-+
-+#endif /* __PERF_DISASM_BPF_H */
diff --git a/dev-util/perf/perf-6.10.4.ebuild b/dev-util/perf/perf-6.10.4.ebuild
deleted file mode 100644
index df1101c9dc14..000000000000
--- a/dev-util/perf/perf-6.10.4.ebuild
+++ /dev/null
@@ -1,345 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-inherit bash-completion-r1 estack flag-o-matic linux-info llvm toolchain-funcs python-r1
-
-DESCRIPTION="Userland tools for Linux Performance Counters"
-HOMEPAGE="https://perf.wiki.kernel.org/"
-
-LINUX_V="${PV:0:1}.x"
-if [[ ${PV} == *_rc* ]] ; then
- LINUX_VER=$(ver_cut 1-2).$(($(ver_cut 3)-1))
- PATCH_VERSION=$(ver_cut 1-3)
- LINUX_PATCH=patch-${PV//_/-}.xz
- SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/${LINUX_PATCH}
- https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/v${PATCH_VERSION}/${LINUX_PATCH}"
-elif [[ ${PV} == *.*.* ]] ; then
- # stable-release series
- LINUX_VER=$(ver_cut 1-2)
- LINUX_PATCH=patch-${PV}.xz
- SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}"
-else
- LINUX_VER=${PV}
-fi
-
-LINUX_SOURCES="linux-${LINUX_VER}.tar.xz"
-SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}"
-
-S_K="${WORKDIR}/linux-${LINUX_VER}"
-S="${S_K}/tools/perf"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 audit babeltrace capstone big-endian bpf caps crypt debug +doc gtk java libpfm +libtraceevent +libtracefs lzma numa perl python slang systemtap tcmalloc unwind zstd"
-
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
-"
-
-# setuptools (and Python) are always needed even if not building Python bindings
-BDEPEND="
- ${LINUX_PATCH+dev-util/patchutils}
- ${PYTHON_DEPS}
- >=app-arch/tar-1.34-r2
- dev-python/setuptools[${PYTHON_USEDEP}]
- app-alternatives/yacc
- app-alternatives/lex
- virtual/pkgconfig
- doc? (
- app-text/asciidoc
- app-text/sgml-common
- app-text/xmlto
- sys-process/time
- )
-"
-
-RDEPEND="
- audit? ( sys-process/audit )
- babeltrace? ( dev-util/babeltrace:0/1 )
- bpf? (
- dev-libs/libbpf
- dev-util/bpftool
- dev-util/pahole
- sys-devel/clang:=
- sys-devel/llvm:=
- )
- caps? ( sys-libs/libcap )
- capstone? ( dev-libs/capstone )
- crypt? ( dev-libs/openssl:= )
- gtk? ( x11-libs/gtk+:2 )
- java? ( virtual/jre:* )
- libpfm? ( dev-libs/libpfm:= )
- libtraceevent? ( dev-libs/libtraceevent )
- libtracefs? ( dev-libs/libtracefs )
- lzma? ( app-arch/xz-utils )
- numa? ( sys-process/numactl )
- perl? ( dev-lang/perl:= )
- python? ( ${PYTHON_DEPS} )
- slang? ( sys-libs/slang )
- systemtap? ( dev-debug/systemtap )
- tcmalloc? ( dev-util/google-perftools )
- unwind? ( sys-libs/libunwind:= )
- zstd? ( app-arch/zstd:= )
- dev-libs/elfutils
- sys-libs/binutils-libs:=
- sys-libs/zlib
- virtual/libcrypt
-"
-
-DEPEND="${RDEPEND}
- >=sys-kernel/linux-headers-5.10
- java? ( virtual/jdk )
-"
-
-QA_FLAGS_IGNORED=(
- 'usr/bin/perf-read-vdso32' # not linked with anything except for libc
- 'usr/libexec/perf-core/dlfilters/.*' # plugins
-)
-
-pkg_pretend() {
- if ! use doc ; then
- ewarn "Without the doc USE flag you won't get any documentation nor man pages."
- ewarn "And without man pages, you won't get any --help output for perf and its"
- ewarn "sub-tools."
- fi
-}
-
-pkg_setup() {
- local CONFIG_CHECK="
- ~DEBUG_INFO
- ~FTRACE
- ~FTRACE_SYSCALLS
- ~FUNCTION_TRACER
- ~KALLSYMS
- ~KALLSYMS_ALL
- ~KPROBES
- ~KPROBE_EVENTS
- ~PERF_EVENTS
- ~UPROBES
- ~UPROBE_EVENTS
- "
-
- use bpf && llvm_pkg_setup
- # We enable python unconditionally as libbpf always generates
- # API headers using python script
- python_setup
-
- if use bpf ; then
- CONFIG_CHECK+="~BPF ~BPF_EVENTS ~BPF_SYSCALL ~DEBUG_INFO_BTF ~HAVE_EBPF_JIT"
- fi
-
- linux-info_pkg_setup
-}
-
-# src_unpack and src_prepare are copied to dev-util/bpftool since
-# it's building from the same tarball, please keep it in sync with bpftool
-src_unpack() {
- local paths=(
- 'arch/*/include/*' 'arch/*/lib/*' 'arch/*/tools/*' 'include/*'
- 'kernel/bpf/*' 'lib/*' 'scripts/*' 'tools/arch/*' 'tools/bpf/*'
- 'tools/build/*' 'tools/include/*' 'tools/lib/*' 'tools/perf/*'
- 'tools/scripts/*'
- )
-
- # We expect the tar implementation to support the -j option (both
- # GNU tar and libarchive's tar support that).
- echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}"
- gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \
- "${paths[@]/#/linux-${LINUX_VER}/}" || die
-
- if [[ -n ${LINUX_PATCH} ]] ; then
- eshopts_push -o noglob
- ebegin "Filtering partial source patch"
- xzcat "${DISTDIR}"/${LINUX_PATCH} | filterdiff -p1 ${paths[@]/#/-i} > ${P}.patch
- assert -n "Unpacking to ${P} from ${DISTDIR}/${LINUX_PATCH} failed"
- eend $? || die "filterdiff failed"
- test -s ${P}.patch || die "patch is empty?!"
- eshopts_pop
- fi
-
- local a
- for a in ${A}; do
- [[ ${a} == ${LINUX_SOURCES} ]] && continue
- [[ ${a} == ${LINUX_PATCH} ]] && continue
- unpack ${a}
- done
-}
-
-src_prepare() {
- default
- if [[ -n ${LINUX_PATCH} ]] ; then
- pushd "${S_K}" >/dev/null || die
- eapply "${WORKDIR}"/${P}.patch
- popd || die
- fi
-
- pushd "${S_K}" >/dev/null || die
- eapply "${FILESDIR}"/perf-6.4-libtracefs.patch
- eapply "${FILESDIR}"/perf-6.10-expr.patch
- eapply "${FILESDIR}"/perf-6.10.3-bpf-capstone.patch
- popd || die
-
- # Drop some upstream too-developer-oriented flags and fix the
- # Makefile in general
- sed -i \
- -e "s@\$(sysconfdir_SQ)/bash_completion.d@$(get_bashcompdir)@" \
- "${S}"/Makefile.perf || die
- # A few places still use -Werror w/out $(WERROR) protection.
- sed -i -e 's@-Werror@@' \
- "${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile \
- "${S_K}"/tools/lib/perf/Makefile || die
-
- # Avoid the call to make kernelversion
- sed -i -e '/PERF-VERSION-GEN/d' Makefile.perf || die
- echo "#define PERF_VERSION \"${PV}\"" > PERF-VERSION-FILE
-
- # The code likes to compile local assembly files which lack ELF markings.
- find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} +
-}
-
-puse() { usex $1 "" 1; }
-perf_make() {
- # The arch parsing is a bit funky. The perf tools package is integrated
- # into the kernel, so it wants an ARCH that looks like the kernel arch,
- # but it also wants to know about the split value -- i386/x86_64 vs just
- # x86. We can get that by telling the func to use an older linux version.
- # It's kind of a hack, but not that bad ...
-
- # LIBDIR sets a search path of perf-gtk.so. Bug 515954
-
- local arch=$(tc-arch-kernel)
- local java_dir
- use java && java_dir="${EPREFIX}/etc/java-config-2/current-system-vm"
-
- # sync this with the whitelist in tools/perf/Makefile.config
- local disable_libdw
- if ! use amd64 && ! use x86 && \
- ! use arm && \
- ! use arm64 && \
- ! use ppc && ! use ppc64 \
- ! use s390 && \
- ! use riscv && \
- ! use loong
- then
- disable_libdw=1
- fi
-
- # perf directly invokes LD for linking without going through CC, on mips
- # it is required to specify the emulation. port of below buildroot patch
- # https://patchwork.ozlabs.org/project/buildroot/patch/20170217105905.32151-1-Vincent.Riera@imgtec.com/
- local linker="$(tc-getLD)"
- if use mips
- then
- if use big-endian
- then
- use abi_mips_n64 && linker+=" -m elf64btsmip"
- use abi_mips_n32 && linker+=" -m elf32btsmipn32"
- use abi_mips_o32 && linker+=" -m elf32btsmip"
- else
- use abi_mips_n64 && linker+=" -m elf64ltsmip"
- use abi_mips_n32 && linker+=" -m elf32ltsmipn32"
- use abi_mips_o32 && linker+=" -m elf32ltsmip"
- fi
- fi
-
- # FIXME: NO_CORESIGHT
- local emakeargs=(
- V=1 VF=1
- HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)"
- CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="${linker}" NM="$(tc-getNM)"
- CLANG="${CHOST}-clang"
- PKG_CONFIG="$(tc-getPKG_CONFIG)"
- prefix="${EPREFIX}/usr" bindir_relative="bin"
- tipdir="share/doc/${PF}"
- EXTRA_CFLAGS="${CFLAGS}"
- EXTRA_LDFLAGS="${LDFLAGS}"
- ARCH="${arch}"
- BUILD_BPF_SKEL=$(usex bpf 1 "") \
- BUILD_NONDISTRO=1
- JDIR="${java_dir}"
- CORESIGHT=
- GTK2=$(usex gtk 1 "")
- feature-gtk2-infobar=$(usex gtk 1 "")
- NO_AUXTRACE=
- NO_BACKTRACE=
- NO_CAPSTONE=$(puse capstone)
- NO_DEMANGLE=
- NO_JEVENTS=$(puse python)
- NO_JVMTI=$(puse java)
- NO_LIBAUDIT=$(puse audit)
- NO_LIBBABELTRACE=$(puse babeltrace)
- NO_LIBBIONIC=1
- NO_LIBBPF=$(puse bpf)
- NO_LIBCAP=$(puse caps)
- NO_LIBCRYPTO=$(puse crypt)
- NO_LIBDW_DWARF_UNWIND="${disable_libdw}"
- NO_LIBELF=
- NO_LIBNUMA=$(puse numa)
- NO_LIBPERL=$(puse perl)
- NO_LIBPFM4=$(puse libpfm)
- NO_LIBPYTHON=$(puse python)
- NO_LIBTRACEEVENT=$(puse libtraceevent)
- NO_LIBUNWIND=$(puse unwind)
- NO_LIBZSTD=$(puse zstd)
- NO_SDT=$(puse systemtap)
- NO_SHELLCHECK=1
- NO_SLANG=$(puse slang)
- NO_LZMA=$(puse lzma)
- NO_ZLIB=
- TCMALLOC=$(usex tcmalloc 1 "")
- WERROR=0
- DEBUG=$(usex debug 1 "")
- LIBDIR="/usr/libexec/perf-core"
- libdir="${EPREFIX}/usr/$(get_libdir)"
- plugindir="${EPREFIX}/usr/$(get_libdir)/perf/plugins"
- "$@"
- )
- emake "${emakeargs[@]}"
-}
-
-src_compile() {
- filter-lto
-
- perf_make -f Makefile.perf
- use doc && perf_make -C Documentation man
-}
-
-src_test() {
- :
-}
-
-src_install() {
- _install_python_ext() {
- perf_make -f Makefile.perf install-python_ext DESTDIR="${D}"
- }
-
- perf_make -f Makefile.perf install DESTDIR="${D}"
-
- if use python; then
- python_foreach_impl _install_python_ext
- fi
-
- if use gtk; then
- local libdir
- libdir="$(get_libdir)"
- # on some arches it ends up in lib even on 64bit, ppc64 for instance.
- [[ -f "${ED}"/usr/lib/libperf-gtk.so ]] && libdir="lib"
- mv "${ED}"/usr/${libdir}/libperf-gtk.so \
- "${ED}"/usr/libexec/perf-core || die
- fi
-
- dodoc CREDITS
-
- dodoc *txt Documentation/*.txt
-
- # perf needs this decompressed to print out tips for users
- docompress -x /usr/share/doc/${PF}/tips.txt
-
- if use doc ; then
- doman Documentation/*.1
- fi
-}
diff --git a/dev-util/perf/perf-6.10.ebuild b/dev-util/perf/perf-6.10.ebuild
deleted file mode 100644
index 7668df3a67d1..000000000000
--- a/dev-util/perf/perf-6.10.ebuild
+++ /dev/null
@@ -1,342 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-inherit bash-completion-r1 estack flag-o-matic linux-info llvm toolchain-funcs python-r1
-
-DESCRIPTION="Userland tools for Linux Performance Counters"
-HOMEPAGE="https://perf.wiki.kernel.org/"
-
-LINUX_V="${PV:0:1}.x"
-if [[ ${PV} == *_rc* ]] ; then
- LINUX_VER=$(ver_cut 1-2).$(($(ver_cut 3)-1))
- PATCH_VERSION=$(ver_cut 1-3)
- LINUX_PATCH=patch-${PV//_/-}.xz
- SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/${LINUX_PATCH}
- https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/v${PATCH_VERSION}/${LINUX_PATCH}"
-elif [[ ${PV} == *.*.* ]] ; then
- # stable-release series
- LINUX_VER=$(ver_cut 1-2)
- LINUX_PATCH=patch-${PV}.xz
- SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}"
-else
- LINUX_VER=${PV}
-fi
-
-LINUX_SOURCES="linux-${LINUX_VER}.tar.xz"
-SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}"
-
-S_K="${WORKDIR}/linux-${LINUX_VER}"
-S="${S_K}/tools/perf"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 audit babeltrace capstone big-endian bpf caps crypt debug +doc gtk java libpfm +libtraceevent +libtracefs lzma numa perl python slang systemtap tcmalloc unwind zstd"
-
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
-"
-
-# setuptools (and Python) are always needed even if not building Python bindings
-BDEPEND="
- ${LINUX_PATCH+dev-util/patchutils}
- ${PYTHON_DEPS}
- >=app-arch/tar-1.34-r2
- dev-python/setuptools[${PYTHON_USEDEP}]
- app-alternatives/yacc
- app-alternatives/lex
- virtual/pkgconfig
- doc? (
- app-text/asciidoc
- app-text/sgml-common
- app-text/xmlto
- sys-process/time
- )
-"
-
-RDEPEND="
- audit? ( sys-process/audit )
- babeltrace? ( dev-util/babeltrace:0/1 )
- bpf? (
- dev-libs/libbpf
- dev-util/bpftool
- dev-util/pahole
- sys-devel/clang:=
- sys-devel/llvm:=
- )
- caps? ( sys-libs/libcap )
- capstone? ( dev-libs/capstone )
- crypt? ( dev-libs/openssl:= )
- gtk? ( x11-libs/gtk+:2 )
- java? ( virtual/jre:* )
- libpfm? ( dev-libs/libpfm:= )
- libtraceevent? ( dev-libs/libtraceevent )
- libtracefs? ( dev-libs/libtracefs )
- lzma? ( app-arch/xz-utils )
- numa? ( sys-process/numactl )
- perl? ( dev-lang/perl:= )
- python? ( ${PYTHON_DEPS} )
- slang? ( sys-libs/slang )
- systemtap? ( dev-debug/systemtap )
- tcmalloc? ( dev-util/google-perftools )
- unwind? ( sys-libs/libunwind:= )
- zstd? ( app-arch/zstd:= )
- dev-libs/elfutils
- sys-libs/binutils-libs:=
- sys-libs/zlib
- virtual/libcrypt
-"
-
-DEPEND="${RDEPEND}
- >=sys-kernel/linux-headers-5.10
- java? ( virtual/jdk )
-"
-
-QA_FLAGS_IGNORED=(
- 'usr/bin/perf-read-vdso32' # not linked with anything except for libc
- 'usr/libexec/perf-core/dlfilters/.*' # plugins
-)
-
-pkg_pretend() {
- if ! use doc ; then
- ewarn "Without the doc USE flag you won't get any documentation nor man pages."
- ewarn "And without man pages, you won't get any --help output for perf and its"
- ewarn "sub-tools."
- fi
-}
-
-pkg_setup() {
- local CONFIG_CHECK="
- ~DEBUG_INFO
- ~FTRACE
- ~FTRACE_SYSCALLS
- ~FUNCTION_TRACER
- ~KALLSYMS
- ~KALLSYMS_ALL
- ~KPROBES
- ~KPROBE_EVENTS
- ~PERF_EVENTS
- ~UPROBES
- ~UPROBE_EVENTS
- "
-
- use bpf && llvm_pkg_setup
- # We enable python unconditionally as libbpf always generates
- # API headers using python script
- python_setup
-
- if use bpf ; then
- CONFIG_CHECK+="~BPF ~BPF_EVENTS ~BPF_SYSCALL ~DEBUG_INFO_BTF ~HAVE_EBPF_JIT"
- fi
-
- linux-info_pkg_setup
-}
-
-# src_unpack and src_prepare are copied to dev-util/bpftool since
-# it's building from the same tarball, please keep it in sync with bpftool
-src_unpack() {
- local paths=(
- kernel/bpf tools/{arch,bpf,build,include,lib,perf,scripts}
- scripts include lib "arch/*/include" "arch/*/lib" "arch/*/tools"
- )
-
- # We expect the tar implementation to support the -j option (both
- # GNU tar and libarchive's tar support that).
- echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}"
- gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \
- "${paths[@]/#/linux-${LINUX_VER}/}" || die
-
- if [[ -n ${LINUX_PATCH} ]] ; then
- eshopts_push -o noglob
- ebegin "Filtering partial source patch"
- filterdiff -p1 ${paths[@]/#/-i } -z "${DISTDIR}"/${LINUX_PATCH} \
- > ${P}.patch
- eend $? || die "filterdiff failed"
- eshopts_pop
- fi
-
- local a
- for a in ${A}; do
- [[ ${a} == ${LINUX_SOURCES} ]] && continue
- [[ ${a} == ${LINUX_PATCH} ]] && continue
- unpack ${a}
- done
-}
-
-src_prepare() {
- default
- if [[ -n ${LINUX_PATCH} ]] ; then
- pushd "${S_K}" >/dev/null || die
- eapply "${WORKDIR}"/${P}.patch
- popd || die
- fi
-
- pushd "${S_K}" >/dev/null || die
- eapply "${FILESDIR}"/perf-6.4-libtracefs.patch
- eapply "${FILESDIR}"/perf-6.10-bpf-capstone.patch
- eapply "${FILESDIR}"/perf-6.10-expr.patch
- popd || die
-
- # Drop some upstream too-developer-oriented flags and fix the
- # Makefile in general
- sed -i \
- -e "s@\$(sysconfdir_SQ)/bash_completion.d@$(get_bashcompdir)@" \
- "${S}"/Makefile.perf || die
- # A few places still use -Werror w/out $(WERROR) protection.
- sed -i -e 's@-Werror@@' \
- "${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile \
- "${S_K}"/tools/lib/perf/Makefile || die
-
- # Avoid the call to make kernelversion
- sed -i -e '/PERF-VERSION-GEN/d' Makefile.perf || die
- echo "#define PERF_VERSION \"${PV}\"" > PERF-VERSION-FILE
-
- # The code likes to compile local assembly files which lack ELF markings.
- find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} +
-}
-
-puse() { usex $1 "" 1; }
-perf_make() {
- # The arch parsing is a bit funky. The perf tools package is integrated
- # into the kernel, so it wants an ARCH that looks like the kernel arch,
- # but it also wants to know about the split value -- i386/x86_64 vs just
- # x86. We can get that by telling the func to use an older linux version.
- # It's kind of a hack, but not that bad ...
-
- # LIBDIR sets a search path of perf-gtk.so. Bug 515954
-
- local arch=$(tc-arch-kernel)
- local java_dir
- use java && java_dir="${EPREFIX}/etc/java-config-2/current-system-vm"
-
- # sync this with the whitelist in tools/perf/Makefile.config
- local disable_libdw
- if ! use amd64 && ! use x86 && \
- ! use arm && \
- ! use arm64 && \
- ! use ppc && ! use ppc64 \
- ! use s390 && \
- ! use riscv && \
- ! use loong
- then
- disable_libdw=1
- fi
-
- # perf directly invokes LD for linking without going through CC, on mips
- # it is required to specify the emulation. port of below buildroot patch
- # https://patchwork.ozlabs.org/project/buildroot/patch/20170217105905.32151-1-Vincent.Riera@imgtec.com/
- local linker="$(tc-getLD)"
- if use mips
- then
- if use big-endian
- then
- use abi_mips_n64 && linker+=" -m elf64btsmip"
- use abi_mips_n32 && linker+=" -m elf32btsmipn32"
- use abi_mips_o32 && linker+=" -m elf32btsmip"
- else
- use abi_mips_n64 && linker+=" -m elf64ltsmip"
- use abi_mips_n32 && linker+=" -m elf32ltsmipn32"
- use abi_mips_o32 && linker+=" -m elf32ltsmip"
- fi
- fi
-
- # FIXME: NO_CORESIGHT
- local emakeargs=(
- V=1 VF=1
- HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)"
- CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="${linker}" NM="$(tc-getNM)"
- CLANG="${CHOST}-clang"
- PKG_CONFIG="$(tc-getPKG_CONFIG)"
- prefix="${EPREFIX}/usr" bindir_relative="bin"
- tipdir="share/doc/${PF}"
- EXTRA_CFLAGS="${CFLAGS}"
- EXTRA_LDFLAGS="${LDFLAGS}"
- ARCH="${arch}"
- BUILD_BPF_SKEL=$(usex bpf 1 "") \
- BUILD_NONDISTRO=1
- JDIR="${java_dir}"
- CORESIGHT=
- GTK2=$(usex gtk 1 "")
- feature-gtk2-infobar=$(usex gtk 1 "")
- NO_AUXTRACE=
- NO_BACKTRACE=
- NO_CAPSTONE=$(puse capstone)
- NO_DEMANGLE=
- NO_JEVENTS=$(puse python)
- NO_JVMTI=$(puse java)
- NO_LIBAUDIT=$(puse audit)
- NO_LIBBABELTRACE=$(puse babeltrace)
- NO_LIBBIONIC=1
- NO_LIBBPF=$(puse bpf)
- NO_LIBCAP=$(puse caps)
- NO_LIBCRYPTO=$(puse crypt)
- NO_LIBDW_DWARF_UNWIND="${disable_libdw}"
- NO_LIBELF=
- NO_LIBNUMA=$(puse numa)
- NO_LIBPERL=$(puse perl)
- NO_LIBPFM4=$(puse libpfm)
- NO_LIBPYTHON=$(puse python)
- NO_LIBTRACEEVENT=$(puse libtraceevent)
- NO_LIBUNWIND=$(puse unwind)
- NO_LIBZSTD=$(puse zstd)
- NO_SDT=$(puse systemtap)
- NO_SHELLCHECK=1
- NO_SLANG=$(puse slang)
- NO_LZMA=$(puse lzma)
- NO_ZLIB=
- TCMALLOC=$(usex tcmalloc 1 "")
- WERROR=0
- DEBUG=$(usex debug 1 "")
- LIBDIR="/usr/libexec/perf-core"
- libdir="${EPREFIX}/usr/$(get_libdir)"
- plugindir="${EPREFIX}/usr/$(get_libdir)/perf/plugins"
- "$@"
- )
- emake "${emakeargs[@]}"
-}
-
-src_compile() {
- filter-lto
-
- perf_make -f Makefile.perf
- use doc && perf_make -C Documentation man
-}
-
-src_test() {
- :
-}
-
-src_install() {
- _install_python_ext() {
- perf_make -f Makefile.perf install-python_ext DESTDIR="${D}"
- }
-
- perf_make -f Makefile.perf install DESTDIR="${D}"
-
- if use python; then
- python_foreach_impl _install_python_ext
- fi
-
- if use gtk; then
- local libdir
- libdir="$(get_libdir)"
- # on some arches it ends up in lib even on 64bit, ppc64 for instance.
- [[ -f "${ED}"/usr/lib/libperf-gtk.so ]] && libdir="lib"
- mv "${ED}"/usr/${libdir}/libperf-gtk.so \
- "${ED}"/usr/libexec/perf-core || die
- fi
-
- dodoc CREDITS
-
- dodoc *txt Documentation/*.txt
-
- # perf needs this decompressed to print out tips for users
- docompress -x /usr/share/doc/${PF}/tips.txt
-
- if use doc ; then
- doman Documentation/*.1
- fi
-}
diff --git a/dev-util/perf/perf-6.11.7.ebuild b/dev-util/perf/perf-6.11.7.ebuild
index 1ad4d3bf3cda..52219af49925 100644
--- a/dev-util/perf/perf-6.11.7.ebuild
+++ b/dev-util/perf/perf-6.11.7.ebuild
@@ -34,7 +34,7 @@ S="${S_K}/tools/perf"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
IUSE="abi_mips_o32 abi_mips_n32 abi_mips_n64 audit babeltrace capstone big-endian bpf caps crypt debug +doc gtk java libpfm +libtraceevent +libtracefs lzma numa perl python slang systemtap tcmalloc unwind zstd"
REQUIRED_USE="
diff --git a/dev-util/perf/perf-6.11.ebuild b/dev-util/perf/perf-6.12.ebuild
index b523d8477bf6..c3d4af9bc2f2 100644
--- a/dev-util/perf/perf-6.11.ebuild
+++ b/dev-util/perf/perf-6.12.ebuild
@@ -4,7 +4,7 @@
EAPI=8
LLVM_COMPAT=( {16..19} )
-PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_COMPAT=( python3_{10..13} python3_13t)
inherit bash-completion-r1 estack flag-o-matic linux-info llvm-r1 toolchain-funcs python-r1
DESCRIPTION="Userland tools for Linux Performance Counters"
@@ -113,7 +113,9 @@ pkg_pretend() {
pkg_setup() {
local CONFIG_CHECK="
+ ~!SCHED_OMIT_FRAME_POINTER
~DEBUG_INFO
+ ~FRAME_POINTER
~FTRACE
~FTRACE_SYSCALLS
~FUNCTION_TRACER
@@ -122,6 +124,8 @@ pkg_setup() {
~KPROBES
~KPROBE_EVENTS
~PERF_EVENTS
+ ~STACKTRACE
+ ~TRACEPOINTS
~UPROBES
~UPROBE_EVENTS
"
@@ -132,7 +136,7 @@ pkg_setup() {
python_setup
if use bpf ; then
- CONFIG_CHECK+="~BPF ~BPF_EVENTS ~BPF_SYSCALL ~DEBUG_INFO_BTF ~HAVE_EBPF_JIT"
+ CONFIG_CHECK+="~BPF ~BPF_EVENTS ~BPF_SYSCALL ~DEBUG_INFO_BTF ~HAVE_EBPF_JIT ~UNWINDER_FRAME_POINTER"
fi
linux-info_pkg_setup
@@ -181,7 +185,7 @@ src_prepare() {
fi
pushd "${S_K}" >/dev/null || die
- eapply "${FILESDIR}"/perf-6.11-bpf-capstone.patch
+ # Gentoo patches go here
popd || die
# Drop some upstream too-developer-oriented flags and fix the