summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2022-08-07 20:02:40 +0200
committerMike Pall <mike>2022-08-07 20:02:40 +0200
commita93f4bb39ff99399994b19249e0833da64bc2eb0 (patch)
treefcdac22fdd10c88d501a66ce94316cd6576b36fa
parent899093a9e0fa5b16f27016381ef4b15529dadff2 (diff)
downloadluajit2-a93f4bb39ff99399994b19249e0833da64bc2eb0.tar.gz
Prevent use of RTLD_DEFAULT when NO_RTLD_DEFAULT is defined.
Workaround for Android 4.4 bug. Thanks to gudzpoz.
-rw-r--r--src/lib_package.c2
-rw-r--r--src/lj_clib.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/lib_package.c b/src/lib_package.c
index a9c1ca48..d2ef474f 100644
--- a/src/lib_package.c
+++ b/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)
{
-#if defined(RTLD_DEFAULT)
+#if defined(RTLD_DEFAULT) && !defined(NO_RTLD_DEFAULT)
if (lib == NULL) lib = RTLD_DEFAULT;
#elif LJ_TARGET_OSX || LJ_TARGET_BSD
if (lib == NULL) lib = (void *)(intptr_t)-2;
diff --git a/src/lj_clib.c b/src/lj_clib.c
index e0f274bb..ab2db33a 100644
--- a/src/lj_clib.c
+++ b/src/lj_clib.c
@@ -24,7 +24,7 @@
#include <dlfcn.h>
#include <stdio.h>
-#if defined(RTLD_DEFAULT)
+#if defined(RTLD_DEFAULT) && !defined(NO_RTLD_DEFAULT)
#define CLIB_DEFHANDLE RTLD_DEFAULT
#elif LJ_TARGET_OSX || LJ_TARGET_BSD
#define CLIB_DEFHANDLE ((void *)(intptr_t)-2)