package/apitrace: fix build under uClibc/musl
authorPaul Cercueil <paul@crapouillou.net>
Sun, 8 Dec 2019 18:58:22 +0000 (19:58 +0100)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sun, 8 Dec 2019 21:44:13 +0000 (22:44 +0100)
Add a patch which has been merged upstream which allows apitrace to be
compiled under uClibc and musl.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/apitrace/0001-dlsym-Fix-build-under-uClibc.patch [new file with mode: 0644]
package/apitrace/Config.in

diff --git a/package/apitrace/0001-dlsym-Fix-build-under-uClibc.patch b/package/apitrace/0001-dlsym-Fix-build-under-uClibc.patch
new file mode 100644 (file)
index 0000000..bf47bba
--- /dev/null
@@ -0,0 +1,31 @@
+From 189a3b8397c61ba262a2221885e38dc514c59d94 Mon Sep 17 00:00:00 2001
+From: Paul Cercueil <paul@crapouillou.net>
+Date: Sat, 7 Dec 2019 00:00:57 +0100
+Subject: [PATCH] dlsym: Fix build under uClibc
+
+uClibc defines the __GLIBC__ macro too (I know, right?), so verify that
+__UCLIBC__ is not defined before we can use glibc-specific internal
+functions.
+
+Signed-off-by: Paul Cercueil <paul@crapouillou.net>
+Upstream: https://github.com/apitrace/apitrace/commit/189a3b8397c61ba262a2221885e38dc514c59d94
+---
+ wrappers/dlsym.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/wrappers/dlsym.cpp b/wrappers/dlsym.cpp
+index 2eda082a..5ab8465b 100644
+--- a/wrappers/dlsym.cpp
++++ b/wrappers/dlsym.cpp
+@@ -34,7 +34,7 @@
+ #include "os.hpp"
+-#ifdef __GLIBC__
++#if defined(__GLIBC__) && !defined(__UCLIBC__)
+ #include <dlfcn.h>
+-- 
+2.24.0
+
index c1be619f1b0fafb7eb80dfb014c961aaf17a3e30..45b4c307bb6fda1750ccd332d22262c385223e89 100644 (file)
@@ -1,11 +1,9 @@
-comment "apitrace needs a glibc toolchain w/ C++, gcc >= 4.9"
-       depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_USES_GLIBC \
-               || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
+comment "apitrace needs a toolchain w/ C++, gcc >= 4.9"
+       depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
 
 config BR2_PACKAGE_APITRACE
        bool "apitrace"
        depends on BR2_INSTALL_LIBSTDCPP
-       depends on BR2_TOOLCHAIN_USES_GLIBC # uses glibc specific __libc_dlsym
        depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
        select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
        select BR2_PACKAGE_LIBPNG