package/apitrace: fix build with glibc >= 2.34

Fix the following build failure with glibc >= 2.34:

/tmp/instance-0/output-1/host/lib/gcc/s390x-buildroot-linux-gnu/10.3.0/../../../../s390x-buildroot-linux-gnu/bin/ld: CMakeFiles/egltrace.dir/dlsym.cpp.o: in function `dlsym':
dlsym.cpp:(.text+0x34): undefined reference to `__libc_dlopen_mode'
/tmp/instance-0/output-1/host/lib/gcc/s390x-buildroot-linux-gnu/10.3.0/../../../../s390x-buildroot-linux-gnu/bin/ld: dlsym.cpp:(.text+0x46): undefined reference to `__libc_dlsym'

Fixes:
 - http://autobuild.buildroot.org/results/ac5e5b1e30249ae0fb8b9179338b47c60c026bcc

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
Fabrice Fontaine 2021-09-14 23:11:06 +02:00 committed by Yann E. MORIN
parent c257ee17cf
commit 8b64b75a22

View File

@ -0,0 +1,34 @@
From d28a980802ad48568c87da02d630c8babfe163bb Mon Sep 17 00:00:00 2001
From: Jose Fonseca <jfonseca@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
[Retrieved from:
https://github.com/apitrace/apitrace/commit/d28a980802ad48568c87da02d630c8babfe163bb]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
wrappers/dlsym.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/wrappers/dlsym.cpp b/wrappers/dlsym.cpp
index 5ab8465b0..5369af35a 100644
--- a/wrappers/dlsym.cpp
+++ b/wrappers/dlsym.cpp
@@ -34,7 +34,7 @@
#include "os.hpp"
-#if defined(__GLIBC__) && !defined(__UCLIBC__)
+#if defined(__GLIBC__) && !defined(__UCLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ < 34
#include <dlfcn.h>