buildroot/package/apitrace/0002-gltrace-Avoid-__libc_dlsym-and-__libc_dlopen_mode-on-GLIBC-2-34.patch
Fabrice Fontaine 8b64b75a22 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>
2021-09-18 21:36:54 +02:00

35 lines
1.1 KiB
Diff

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>