From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1671211-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 2449E158083
	for <garchives@archives.gentoo.org>; Tue, 17 Sep 2024 02:49:26 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 1BCF8E29C1;
	Tue, 17 Sep 2024 02:49:24 +0000 (UTC)
Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id EF8DAE29C1
	for <gentoo-commits@lists.gentoo.org>; Tue, 17 Sep 2024 02:49:23 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 3666434302D
	for <gentoo-commits@lists.gentoo.org>; Tue, 17 Sep 2024 02:49:22 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id B4FBE27F9
	for <gentoo-commits@lists.gentoo.org>; Tue, 17 Sep 2024 02:49:19 +0000 (UTC)
From: "Matt Turner" <mattst88@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Matt Turner" <mattst88@gentoo.org>
Message-ID: <1726541313.b67b6461e623f354d29d539e724c4e1328fb0a9c.mattst88@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-apps/igt-gpu-tools/files/, x11-apps/igt-gpu-tools/
X-VCS-Repository: repo/gentoo
X-VCS-Files: x11-apps/igt-gpu-tools/Manifest x11-apps/igt-gpu-tools/files/1.28-lib-Inline-igt_x86_features-into-ifunc-resolvers.patch x11-apps/igt-gpu-tools/igt-gpu-tools-1.28-r1.ebuild
X-VCS-Directories: x11-apps/igt-gpu-tools/files/ x11-apps/igt-gpu-tools/
X-VCS-Committer: mattst88
X-VCS-Committer-Name: Matt Turner
X-VCS-Revision: b67b6461e623f354d29d539e724c4e1328fb0a9c
X-VCS-Branch: master
Date: Tue, 17 Sep 2024 02:49:19 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: e869da82-9baf-4d17-967e-39ee132328c6
X-Archives-Hash: 33ce15948f650d23a1bee42f4d5ad95f

commit:     b67b6461e623f354d29d539e724c4e1328fb0a9c
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 17 02:46:17 2024 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Tue Sep 17 02:48:33 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b67b6461

x11-apps/igt-gpu-tools: Drop old versions

Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 x11-apps/igt-gpu-tools/Manifest                    |   1 -
 ...ine-igt_x86_features-into-ifunc-resolvers.patch | 354 ---------------------
 .../igt-gpu-tools/igt-gpu-tools-1.28-r1.ebuild     | 111 -------
 3 files changed, 466 deletions(-)

diff --git a/x11-apps/igt-gpu-tools/Manifest b/x11-apps/igt-gpu-tools/Manifest
index 95352e6ad6d9..f69cc606fd4e 100644
--- a/x11-apps/igt-gpu-tools/Manifest
+++ b/x11-apps/igt-gpu-tools/Manifest
@@ -1,2 +1 @@
-DIST igt-gpu-tools-1.28.tar.xz 2597284 BLAKE2B c15a5b0142f2bf54d0b002b5a17ca705b9cc33662b902edb18e0860c8a1d66c911a082f1c60b3b41f184bd72d7f568554a11d69f9b70978d176eef2cdd1f4e38 SHA512 b0bed7fce28a309f5e5b1f044952abf06ede806ef691b4ddbd52ee437bc9c3701822d65c761c69a8ae5b40695d121193f30aa772cdfaf9ab16c800d7fbcd0abc
 DIST igt-gpu-tools-1.29.tar.xz 2944444 BLAKE2B 8d34a2b1a9dfc6d8a23be6d2a45436f531e98f0aa8b05346d5a4f2232d4904fc12cb7a986ee335b2a9a31760de10cfed0d92b7de6052ed75baeadc190c5ebee9 SHA512 1bce6cc916b79bee3562cdee945444bfe925efac37c0df61f8adc17b1aade752cb2e31a05c0dc5de5f2c54256f3319cab7ee45014d5d910e16cca50accd2d1ed

diff --git a/x11-apps/igt-gpu-tools/files/1.28-lib-Inline-igt_x86_features-into-ifunc-resolvers.patch b/x11-apps/igt-gpu-tools/files/1.28-lib-Inline-igt_x86_features-into-ifunc-resolvers.patch
deleted file mode 100644
index e1239ff11a2c..000000000000
--- a/x11-apps/igt-gpu-tools/files/1.28-lib-Inline-igt_x86_features-into-ifunc-resolvers.patch
+++ /dev/null
@@ -1,354 +0,0 @@
-From cdf2915c810e77e1b77071e46acd6d9c696c4473 Mon Sep 17 00:00:00 2001
-From: Matt Turner <mattst88@gmail.com>
-Date: Thu, 21 Mar 2024 14:41:50 -0400
-Subject: [PATCH] lib: Inline igt_x86_features() into ifunc resolvers
-
-Quoting https://sourceware.org/glibc/wiki/GNU_IFUNC
-
-> When LD_BIND_NOW=1 or -Wl,z,now is in effect symbols must be
-> immediately resolved at startup. In cases where an external function
-> call depends needs to be made that may fail if such a call has not
-> been initialized yet (PLT-based relocation which is processed later).
-> For example calling strlen in an IFUNC resolver built with -Wl,z,now
-> may lead to a segfault because the PLT is not yet resolved.
-
-We cannot rely on function calls through the PLT in ifunc resolvers as
-the PLT may not have been initialized yet.
-
-In practice, this causes crashes when igt is linked with -Wl,-z,now or
-when linked with the mold linker.
-
-To avoid this problem, we do two things:
-    1. move igt_x86_features() to igt_x86.h so its definition is
-       available to compilation units that call the function.
-    2. mark the ifunc resolvers with __attribute__((flatten)) to ensure
-       igt_x86_features() is inlined. Since this function is only called
-       from a few places it does not significantly increase binary size
-       to inline it.
-
-Linux distros (at least Fedora since v23, Gentoo/Hardened, soon standard
-Gentoo) use `-Wl,-z now` to improve security. By binding upfront, the
-loader can mark the GOT as read-only for a security enhancement. See
-https://wiki.gentoo.org/wiki/Hardened/Toolchain for more details.
-
-[Fixed whitespaces (Kamil)]
-Bug: https://bugs.gentoo.org/788625
-Bug: https://bugs.gentoo.org/925348
-Reviewed-by: Zbigniew KempczyƄski <zbigniew.kempczynski@intel.com>
-Signed-off-by: Matt Turner <mattst88@gmail.com>
----
- lib/igt_halffloat.c |   8 +++
- lib/igt_x86.c       | 119 ++------------------------------------------
- lib/igt_x86.h       | 118 ++++++++++++++++++++++++++++++++++++++++++-
- 3 files changed, 129 insertions(+), 116 deletions(-)
-
-diff --git a/lib/igt_halffloat.c b/lib/igt_halffloat.c
-index 5dbe08e01..560952d20 100644
---- a/lib/igt_halffloat.c
-+++ b/lib/igt_halffloat.c
-@@ -194,6 +194,10 @@ static void half_to_float(const uint16_t *h, float *f, unsigned int num)
- 		f[i] = _half_to_float(h[i]);
- }
- 
-+/* The PLT is not initialized when ifunc resolvers run, so all external
-+ * functions must be inlined with __attribute__((flatten)).
-+ */
-+__attribute__((flatten))
- static void (*resolve_float_to_half(void))(const float *f, uint16_t *h, unsigned int num)
- {
- 	if (igt_x86_features() & F16C)
-@@ -205,6 +209,10 @@ static void (*resolve_float_to_half(void))(const float *f, uint16_t *h, unsigned
- void igt_float_to_half(const float *f, uint16_t *h, unsigned int num)
- 	__attribute__((ifunc("resolve_float_to_half")));
- 
-+/* The PLT is not initialized when ifunc resolvers run, so all external
-+ * functions must be inlined with __attribute__((flatten)).
-+ */
-+__attribute__((flatten))
- static void (*resolve_half_to_float(void))(const uint16_t *h, float *f, unsigned int num)
- {
- 	if (igt_x86_features() & F16C)
-diff --git a/lib/igt_x86.c b/lib/igt_x86.c
-index 8c102fd13..4842164e9 100644
---- a/lib/igt_x86.c
-+++ b/lib/igt_x86.c
-@@ -27,14 +27,6 @@
- 
- #include "config.h"
- 
--#ifdef HAVE_CPUID_H
--#include <cpuid.h>
--#else
--#define __get_cpuid_max(x, y) 0
--#define __cpuid(level, a, b, c, d) a = b = c = d = 0
--#define __cpuid_count(level, count, a, b, c, d) a = b = c = d = 0
--#endif
--
- #include "igt_x86.h"
- #include "igt_aux.h"
- 
-@@ -49,114 +41,7 @@
-  * @include: igt_x86.h
-  */
- 
--#define BASIC_CPUID 0x0
--#define EXTENDED_CPUID 0x80000000
--
--#ifndef bit_MMX
--#define bit_MMX		(1 << 23)
--#endif
--
--#ifndef bit_SSE
--#define bit_SSE		(1 << 25)
--#endif
--
--#ifndef bit_SSE2
--#define bit_SSE2	(1 << 26)
--#endif
--
--#ifndef bit_SSE3
--#define bit_SSE3	(1 << 0)
--#endif
--
--#ifndef bit_SSSE3
--#define bit_SSSE3	(1 << 9)
--#endif
--
--#ifndef bit_SSE4_1
--#define bit_SSE4_1	(1 << 19)
--#endif
--
--#ifndef bit_SSE4_2
--#define bit_SSE4_2	(1 << 20)
--#endif
--
--#ifndef bit_OSXSAVE
--#define bit_OSXSAVE	(1 << 27)
--#endif
--
--#ifndef bit_AVX
--#define bit_AVX		(1 << 28)
--#endif
--
--#ifndef bit_F16C
--#define bit_F16C	(1 << 29)
--#endif
--
--#ifndef bit_AVX2
--#define bit_AVX2	(1<<5)
--#endif
--
--#define xgetbv(index,eax,edx) \
--	__asm__ ("xgetbv" : "=a"(eax), "=d"(edx) : "c" (index))
--
--#define has_YMM 0x1
--
- #if defined(__x86_64__) || defined(__i386__)
--unsigned igt_x86_features(void)
--{
--	unsigned max = __get_cpuid_max(BASIC_CPUID, 0);
--	unsigned eax, ebx, ecx, edx;
--	unsigned features = 0;
--	unsigned extra = 0;
--
--	if (max >= 1) {
--		__cpuid(1, eax, ebx, ecx, edx);
--
--		if (ecx & bit_SSE3)
--			features |= SSE3;
--
--		if (ecx & bit_SSSE3)
--			features |= SSSE3;
--
--		if (ecx & bit_SSE4_1)
--			features |= SSE4_1;
--
--		if (ecx & bit_SSE4_2)
--			features |= SSE4_2;
--
--		if (ecx & bit_OSXSAVE) {
--			unsigned int bv_eax, bv_ecx;
--			xgetbv(0, bv_eax, bv_ecx);
--			if ((bv_eax & 6) == 6)
--				extra |= has_YMM;
--		}
--
--		if ((extra & has_YMM) && (ecx & bit_AVX))
--			features |= AVX;
--
--		if (edx & bit_MMX)
--			features |= MMX;
--
--		if (edx & bit_SSE)
--			features |= SSE;
--
--		if (edx & bit_SSE2)
--			features |= SSE2;
--
--		if (ecx & bit_F16C)
--			features |= F16C;
--	}
--
--	if (max >= 7) {
--		__cpuid_count(7, 0, eax, ebx, ecx, edx);
--
--		if ((extra & has_YMM) && (ebx & bit_AVX2))
--			features |= AVX2;
--	}
--
--	return features;
--}
--
- char *igt_x86_features_to_string(unsigned features, char *line)
- {
- 	char *ret = line;
-@@ -284,6 +169,10 @@ static void memcpy_from_wc(void *dst, const void *src, unsigned long len)
- 	memcpy(dst, src, len);
- }
- 
-+/* The PLT is not initialized when ifunc resolvers run, so all external
-+ * functions must be inlined with __attribute__((flatten)).
-+ */
-+__attribute__((flatten))
- static void (*resolve_memcpy_from_wc(void))(void *, const void *, unsigned long)
- {
- 	if (igt_x86_features() & SSE4_1)
-diff --git a/lib/igt_x86.h b/lib/igt_x86.h
-index c7b84dec2..f1df4c1a9 100644
---- a/lib/igt_x86.h
-+++ b/lib/igt_x86.h
-@@ -30,6 +30,14 @@
- #ifndef IGT_X86_H
- #define IGT_X86_H
- 
-+#ifdef HAVE_CPUID_H
-+#include <cpuid.h>
-+#else
-+#define __get_cpuid_max(x, y) 0
-+#define __cpuid(level, a, b, c, d) a = b = c = d = 0
-+#define __cpuid_count(level, count, a, b, c, d) a = b = c = d = 0
-+#endif
-+
- #define MMX	0x1
- #define SSE	0x2
- #define SSE2	0x4
-@@ -42,7 +50,115 @@
- #define F16C	0x200
- 
- #if defined(__x86_64__) || defined(__i386__)
--unsigned igt_x86_features(void);
-+
-+#define BASIC_CPUID 0x0
-+#define EXTENDED_CPUID 0x80000000
-+
-+#ifndef bit_MMX
-+#define bit_MMX		(1 << 23)
-+#endif
-+
-+#ifndef bit_SSE
-+#define bit_SSE		(1 << 25)
-+#endif
-+
-+#ifndef bit_SSE2
-+#define bit_SSE2	(1 << 26)
-+#endif
-+
-+#ifndef bit_SSE3
-+#define bit_SSE3	(1 << 0)
-+#endif
-+
-+#ifndef bit_SSSE3
-+#define bit_SSSE3	(1 << 9)
-+#endif
-+
-+#ifndef bit_SSE4_1
-+#define bit_SSE4_1	(1 << 19)
-+#endif
-+
-+#ifndef bit_SSE4_2
-+#define bit_SSE4_2	(1 << 20)
-+#endif
-+
-+#ifndef bit_OSXSAVE
-+#define bit_OSXSAVE	(1 << 27)
-+#endif
-+
-+#ifndef bit_AVX
-+#define bit_AVX		(1 << 28)
-+#endif
-+
-+#ifndef bit_F16C
-+#define bit_F16C	(1 << 29)
-+#endif
-+
-+#ifndef bit_AVX2
-+#define bit_AVX2	(1<<5)
-+#endif
-+
-+#define xgetbv(index, eax, edx) \
-+	__asm__ ("xgetbv" : "=a"(eax), "=d"(edx) : "c" (index))
-+
-+#define has_YMM 0x1
-+
-+static inline unsigned igt_x86_features(void)
-+{
-+	unsigned max = __get_cpuid_max(BASIC_CPUID, 0);
-+	unsigned eax, ebx, ecx, edx;
-+	unsigned features = 0;
-+	unsigned extra = 0;
-+
-+	if (max >= 1) {
-+		__cpuid(1, eax, ebx, ecx, edx);
-+
-+		if (ecx & bit_SSE3)
-+			features |= SSE3;
-+
-+		if (ecx & bit_SSSE3)
-+			features |= SSSE3;
-+
-+		if (ecx & bit_SSE4_1)
-+			features |= SSE4_1;
-+
-+		if (ecx & bit_SSE4_2)
-+			features |= SSE4_2;
-+
-+		if (ecx & bit_OSXSAVE) {
-+			unsigned int bv_eax, bv_ecx;
-+
-+			xgetbv(0, bv_eax, bv_ecx);
-+			if ((bv_eax & 6) == 6)
-+				extra |= has_YMM;
-+		}
-+
-+		if ((extra & has_YMM) && (ecx & bit_AVX))
-+			features |= AVX;
-+
-+		if (edx & bit_MMX)
-+			features |= MMX;
-+
-+		if (edx & bit_SSE)
-+			features |= SSE;
-+
-+		if (edx & bit_SSE2)
-+			features |= SSE2;
-+
-+		if (ecx & bit_F16C)
-+			features |= F16C;
-+	}
-+
-+	if (max >= 7) {
-+		__cpuid_count(7, 0, eax, ebx, ecx, edx);
-+
-+		if ((extra & has_YMM) && (ebx & bit_AVX2))
-+			features |= AVX2;
-+	}
-+
-+	return features;
-+}
-+
- char *igt_x86_features_to_string(unsigned features, char *line);
- #else
- static inline unsigned igt_x86_features(void)
--- 
-2.43.2
-

diff --git a/x11-apps/igt-gpu-tools/igt-gpu-tools-1.28-r1.ebuild b/x11-apps/igt-gpu-tools/igt-gpu-tools-1.28-r1.ebuild
deleted file mode 100644
index 1970fac8edf8..000000000000
--- a/x11-apps/igt-gpu-tools/igt-gpu-tools-1.28-r1.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-EGIT_REPO_URI="https://gitlab.freedesktop.org/drm/${PN}.git"
-if [[ ${PV} = *9999* ]]; then
-	GIT_ECLASS="git-r3"
-fi
-
-PYTHON_COMPAT=( python3_{10..12} )
-inherit ${GIT_ECLASS} meson python-any-r1
-
-DESCRIPTION="Intel GPU userland tools"
-
-HOMEPAGE="https://gitlab.freedesktop.org/drm/igt-gpu-tools"
-if [[ ${PV} != *9999* ]]; then
-	KEYWORDS="~amd64 ~x86"
-	SRC_URI="https://www.x.org/releases/individual/app/${P}.tar.xz"
-fi
-LICENSE="MIT"
-SLOT="0"
-IUSE="chamelium doc man overlay runner tests unwind valgrind video_cards_amdgpu video_cards_intel video_cards_nouveau X xv"
-REQUIRED_USE="
-	|| ( video_cards_amdgpu video_cards_intel video_cards_nouveau )
-	overlay? (
-		video_cards_intel
-		|| ( X xv )
-	)
-	doc? ( tests )
-	runner? ( tests )
-"
-RESTRICT="test"
-
-RDEPEND="
-	dev-libs/elfutils
-	dev-libs/glib:2
-	sys-apps/kmod
-	sys-libs/zlib:=
-	sys-process/procps:=
-	virtual/libudev:=
-	>=x11-libs/cairo-1.12.0[X?]
-	>=x11-libs/libdrm-2.4.82[video_cards_amdgpu?,video_cards_intel?,video_cards_nouveau?]
-	>=x11-libs/libpciaccess-0.10
-	x11-libs/pixman
-	chamelium? (
-		dev-libs/xmlrpc-c:=[curl]
-		sci-libs/gsl:=
-		media-libs/alsa-lib
-	)
-	overlay? (
-		>=x11-libs/libXrandr-1.3
-		xv? (
-			x11-libs/libX11
-			x11-libs/libXext
-			x11-libs/libXv
-		)
-	)
-	runner? ( dev-libs/json-c:= )
-	unwind? ( sys-libs/libunwind:= )
-	valgrind? ( dev-debug/valgrind )
-	"
-DEPEND="${RDEPEND}
-	doc? ( >=dev-util/gtk-doc-1.25-r1 )
-	man? ( dev-python/docutils )
-	overlay? (
-		>=dev-util/peg-0.1.18
-		x11-base/xorg-proto
-	)
-	video_cards_intel? (
-		app-alternatives/yacc
-		app-alternatives/lex
-	)
-"
-BDEPEND="${PYTHON_DEPS}"
-
-PATCHES=(
-	"${FILESDIR}"/${PV}-lib-Inline-igt_x86_features-into-ifunc-resolvers.patch
-)
-
-src_prepare() {
-	sed -e "s/find_program('rst2man-3'/find_program('rst2man.py', 'rst2man-3'/" -i man/meson.build
-	default_src_prepare
-}
-
-src_configure() {
-	local gpus=""
-	use video_cards_amdgpu  && gpus+="amdgpu,"
-	use video_cards_intel   && gpus+="intel,"
-	use video_cards_nouveau && gpus+="nouveau,"
-
-	local overlay_backends=""
-	use overlay && use xv && overlay_backends+="xv,"
-	use overlay && use X && overlay_backends+="x,"
-
-	local emesonargs=(
-		$(meson_feature overlay)
-		-Doverlay_backends=${overlay_backends%?}
-		$(meson_feature chamelium)
-		$(meson_feature valgrind)
-		$(meson_feature man)
-		-Dtestplan=disabled
-		-Dsphinx=disabled
-		$(meson_feature doc docs)
-		$(meson_feature tests)
-		-Dxe_driver=disabled
-		-Dlibdrm_drivers=${gpus%?}
-		$(meson_feature unwind libunwind)
-		$(meson_feature runner)
-	)
-	meson_src_configure
-}