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 |
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 --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>
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