From 9d3d2bdfbf3379c6f4ba56cd172fc72599a12ffd Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Thu, 26 Dec 2019 09:27:24 +0100 Subject: [PATCH] package/moarvm: fix build with uclibc Fixes: - http://autobuild.buildroot.org/results/b88e55dde1acab967023ae49bb1722eadb9cc6ab Signed-off-by: Fabrice Fontaine Signed-off-by: Thomas Petazzoni --- ...unix.c-don-t-use-RTLD_DI_LINKMAP-wit.patch | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 package/moarvm/0001-dynload-dynload_unix.c-don-t-use-RTLD_DI_LINKMAP-wit.patch diff --git a/package/moarvm/0001-dynload-dynload_unix.c-don-t-use-RTLD_DI_LINKMAP-wit.patch b/package/moarvm/0001-dynload-dynload_unix.c-don-t-use-RTLD_DI_LINKMAP-wit.patch new file mode 100644 index 0000000000..326423679c --- /dev/null +++ b/package/moarvm/0001-dynload-dynload_unix.c-don-t-use-RTLD_DI_LINKMAP-wit.patch @@ -0,0 +1,38 @@ +From a83f1fd053aadd2e849df80f67b69ba7298341f3 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 25 Dec 2019 20:37:57 +0100 +Subject: [PATCH] dynload/dynload_unix.c: don't use RTLD_DI_LINKMAP with uclibc + +RTLD_DI_LINKMAP is not defined on uclibc so check that __UCLIBC__ is not +defined before using it otherwise build fails on: + +dynload_unix.c:93:19: error: 'RTLD_DI_LINKMAP' undeclared (first use in this function); did you mean 'RTLD_BINDING_MASK'? + if(dlinfo(pLib, RTLD_DI_LINKMAP, &p) == 0) { + ^~~~~~~~~~~~~~~ + RTLD_BINDING_MASK + +Fixes: + - http://autobuild.buildroot.org/results/b88e55dde1acab967023ae49bb1722eadb9cc6ab + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/MoarVM/dyncall/pull/6] +--- + dynload/dynload_unix.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/3rdparty/dyncall/dynload/dynload_unix.c b/3rdparty/dyncall/dynload/dynload_unix.c +index adfd351..129a1e5 100644 +--- a/3rdparty/dyncall/dynload/dynload_unix.c ++++ b/3rdparty/dyncall/dynload/dynload_unix.c +@@ -82,7 +82,7 @@ void dlFreeLibrary(DLLib* pLib) + /* that: check for RTLD_DI_LINKMAP (#define for dlinfo()), or if GNU C Lib */ + /* is used (where RTLD_DI_LINKMAP is an enum), or by OS (dlinfo comes from */ + /* Solaris), etc. */ +-#if defined(RTLD_DI_LINKMAP) || defined(OS_SunOS) || defined(__GLIBC__) /* @@@ dlinfo() was introduced in glibc 2.3.3 (in 2003), somehow check for that, also */ ++#if defined(RTLD_DI_LINKMAP) || defined(OS_SunOS) || (defined(__GLIBC__) && !defined(__UCLIBC__)) /* @@@ dlinfo() was introduced in glibc 2.3.3 (in 2003), somehow check for that, also */ + + #include + +-- +2.24.0 + -- 2.30.2