diff mbox series

[1/1] package/apitrace: fix build with glibc >= 2.34

Message ID 20210914211106.401780-1-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series [1/1] package/apitrace: fix build with glibc >= 2.34 | expand

Commit Message

Fabrice Fontaine Sept. 14, 2021, 9:11 p.m. UTC
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>
---
 ...and-__libc_dlopen_mode-on-GLIBC-2-34.patch | 34 +++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 package/apitrace/0002-gltrace-Avoid-__libc_dlsym-and-__libc_dlopen_mode-on-GLIBC-2-34.patch

Comments

Yann E. MORIN Sept. 18, 2021, 7:37 p.m. UTC | #1
Fabrice, All,

On 2021-09-14 23:11 +0200, Fabrice Fontaine spake thusly:
> 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>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
>  ...and-__libc_dlopen_mode-on-GLIBC-2-34.patch | 34 +++++++++++++++++++
>  1 file changed, 34 insertions(+)
>  create mode 100644 package/apitrace/0002-gltrace-Avoid-__libc_dlsym-and-__libc_dlopen_mode-on-GLIBC-2-34.patch
> 
> diff --git a/package/apitrace/0002-gltrace-Avoid-__libc_dlsym-and-__libc_dlopen_mode-on-GLIBC-2-34.patch b/package/apitrace/0002-gltrace-Avoid-__libc_dlsym-and-__libc_dlopen_mode-on-GLIBC-2-34.patch
> new file mode 100644
> index 0000000000..57e3ee248b
> --- /dev/null
> +++ b/package/apitrace/0002-gltrace-Avoid-__libc_dlsym-and-__libc_dlopen_mode-on-GLIBC-2-34.patch
> @@ -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>
> -- 
> 2.33.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@lists.buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/package/apitrace/0002-gltrace-Avoid-__libc_dlsym-and-__libc_dlopen_mode-on-GLIBC-2-34.patch b/package/apitrace/0002-gltrace-Avoid-__libc_dlsym-and-__libc_dlopen_mode-on-GLIBC-2-34.patch
new file mode 100644
index 0000000000..57e3ee248b
--- /dev/null
+++ b/package/apitrace/0002-gltrace-Avoid-__libc_dlsym-and-__libc_dlopen_mode-on-GLIBC-2-34.patch
@@ -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>