commit:     5de9423fbf17e94be54f48d9b5c613c2b8a7fb20
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 13 05:48:23 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jan 13 05:49:04 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5de9423f

dev-util/apitrace: fix build with glibc-2.34

Closes: https://bugs.gentoo.org/812155
Thanks-to: Mihai Moldovan <ionic <AT> ionic.de>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-util/apitrace/apitrace-9.0-r3.ebuild           |  3 ++-
 .../apitrace-9.0-libc-dlopen-glibc-2.34.patch      | 29 ++++++++++++++++++++++
 2 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/dev-util/apitrace/apitrace-9.0-r3.ebuild 
b/dev-util/apitrace/apitrace-9.0-r3.ebuild
index 7c0a0190acac..a150636da799 100644
--- a/dev-util/apitrace/apitrace-9.0-r3.ebuild
+++ b/dev-util/apitrace/apitrace-9.0-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -40,6 +40,7 @@ PATCHES=(
        # TODO: upstream
        "${FILESDIR}"/${P}-disable-multiarch.patch
        "${FILESDIR}"/${P}-brotli-unbundle.patch
+       "${FILESDIR}"/${P}-libc-dlopen-glibc-2.34.patch
 )
 
 src_prepare() {

diff --git a/dev-util/apitrace/files/apitrace-9.0-libc-dlopen-glibc-2.34.patch 
b/dev-util/apitrace/files/apitrace-9.0-libc-dlopen-glibc-2.34.patch
new file mode 100644
index 000000000000..6c1aff4bcb31
--- /dev/null
+++ b/dev-util/apitrace/files/apitrace-9.0-libc-dlopen-glibc-2.34.patch
@@ -0,0 +1,29 @@
+https://github.com/apitrace/apitrace/commit/d28a980802ad48568c87da02d630c8babfe163bb.patch
+https://bugs.gentoo.org/812155
+
+(rebased by sam)
+
+From: Jose Fonseca <jfons...@vmware.com>
+Date: Wed, 1 Sep 2021 16:34:54 +0100
+Subject: [PATCH] gltrace: Avoid __libc_dlsym and __libc_dlopen_mode on GLIBC
+ 2.34.
+
+These GLIBC_PRIVATE symbols are gone from GLIBC 2.34 due to the merge of
+libdl.so onto libc.so.
+
+This means apitrace can't defend against infinite recursion when
+used with Steam Overlay, but at least it should work otherwise.
+
+Fixes https://github.com/apitrace/apitrace/issues/756
+--- a/wrappers/dlsym.cpp
++++ b/wrappers/dlsym.cpp
+@@ -34,7 +34,7 @@
+ #include "os.hpp"
+ 
+ 
+-#ifdef __GLIBC__
++#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ < 34
+ 
+ 
+ #include <dlfcn.h>
+

Reply via email to