0001-dynload-dynload_unix.c-don-t-use-RTLD_DI_LINKMAP-wit.patch 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. From a83f1fd053aadd2e849df80f67b69ba7298341f3 Mon Sep 17 00:00:00 2001
  2. From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  3. Date: Wed, 25 Dec 2019 20:37:57 +0100
  4. Subject: [PATCH] dynload/dynload_unix.c: don't use RTLD_DI_LINKMAP with uclibc
  5. RTLD_DI_LINKMAP is not defined on uclibc so check that __UCLIBC__ is not
  6. defined before using it otherwise build fails on:
  7. dynload_unix.c:93:19: error: 'RTLD_DI_LINKMAP' undeclared (first use in this function); did you mean 'RTLD_BINDING_MASK'?
  8. if(dlinfo(pLib, RTLD_DI_LINKMAP, &p) == 0) {
  9. ^~~~~~~~~~~~~~~
  10. RTLD_BINDING_MASK
  11. Fixes:
  12. - http://autobuild.buildroot.org/results/b88e55dde1acab967023ae49bb1722eadb9cc6ab
  13. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  14. [Upstream status: https://github.com/MoarVM/dyncall/pull/6]
  15. ---
  16. dynload/dynload_unix.c | 2 +-
  17. 1 file changed, 1 insertion(+), 1 deletion(-)
  18. diff --git a/3rdparty/dyncall/dynload/dynload_unix.c b/3rdparty/dyncall/dynload/dynload_unix.c
  19. index adfd351..129a1e5 100644
  20. --- a/3rdparty/dyncall/dynload/dynload_unix.c
  21. +++ b/3rdparty/dyncall/dynload/dynload_unix.c
  22. @@ -82,7 +82,7 @@ void dlFreeLibrary(DLLib* pLib)
  23. /* that: check for RTLD_DI_LINKMAP (#define for dlinfo()), or if GNU C Lib */
  24. /* is used (where RTLD_DI_LINKMAP is an enum), or by OS (dlinfo comes from */
  25. /* Solaris), etc. */
  26. -#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 */
  27. +#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 */
  28. #include <link.h>
  29. --
  30. 2.24.0