Browse Source

Prevent use of RTLD_DEFAULT when NO_RTLD_DEFAULT is defined.

Workaround for Android 4.4 bug.
Thanks to gudzpoz.
Mike Pall 3 years ago
parent
commit
a93f4bb39f
2 changed files with 2 additions and 2 deletions
  1. 1 1
      src/lib_package.c
  2. 1 1
      src/lj_clib.c

+ 1 - 1
src/lib_package.c

@@ -57,7 +57,7 @@ static lua_CFunction ll_sym(lua_State *L, void *lib, const char *sym)
 
 
 static const char *ll_bcsym(void *lib, const char *sym)
 static const char *ll_bcsym(void *lib, const char *sym)
 {
 {
-#if defined(RTLD_DEFAULT)
+#if defined(RTLD_DEFAULT) && !defined(NO_RTLD_DEFAULT)
   if (lib == NULL) lib = RTLD_DEFAULT;
   if (lib == NULL) lib = RTLD_DEFAULT;
 #elif LJ_TARGET_OSX || LJ_TARGET_BSD
 #elif LJ_TARGET_OSX || LJ_TARGET_BSD
   if (lib == NULL) lib = (void *)(intptr_t)-2;
   if (lib == NULL) lib = (void *)(intptr_t)-2;

+ 1 - 1
src/lj_clib.c

@@ -24,7 +24,7 @@
 #include <dlfcn.h>
 #include <dlfcn.h>
 #include <stdio.h>
 #include <stdio.h>
 
 
-#if defined(RTLD_DEFAULT)
+#if defined(RTLD_DEFAULT) && !defined(NO_RTLD_DEFAULT)
 #define CLIB_DEFHANDLE	RTLD_DEFAULT
 #define CLIB_DEFHANDLE	RTLD_DEFAULT
 #elif LJ_TARGET_OSX || LJ_TARGET_BSD
 #elif LJ_TARGET_OSX || LJ_TARGET_BSD
 #define CLIB_DEFHANDLE	((void *)(intptr_t)-2)
 #define CLIB_DEFHANDLE	((void *)(intptr_t)-2)