summaryrefslogtreecommitdiff
path: root/src/ldso
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2016-01-25 18:58:06 -0500
committerRich Felker <dalias@aerifal.cx>2016-01-25 18:58:06 -0500
commit14469371cd1efd2be44f0825fec9ad8bb3216da9 (patch)
tree16cc02e9d50c8cd7ad662bfcf03658fa6ab98cda /src/ldso
parentb98414732d230c236b9a79c709c2b035ca67be12 (diff)
downloadmusl-14469371cd1efd2be44f0825fec9ad8bb3216da9.tar.gz
move static-linked stub dlopen out of dynlink.c
Diffstat (limited to 'src/ldso')
-rw-r--r--src/ldso/dlopen.c13
-rw-r--r--src/ldso/dynlink.c5
2 files changed, 13 insertions, 5 deletions
diff --git a/src/ldso/dlopen.c b/src/ldso/dlopen.c
new file mode 100644
index 00000000..dcdb4398
--- /dev/null
+++ b/src/ldso/dlopen.c
@@ -0,0 +1,13 @@
+#include <dlfcn.h>
+#include "libc.h"
+
+__attribute__((__visibility__("hidden")))
+void __dl_seterr(const char *, ...);
+
+static void *stub_dlopen(const char *file, int mode)
+{
+ __dl_seterr("Dynamic loading not supported");
+ return 0;
+}
+
+weak_alias(stub_dlopen, dlopen);
diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c
index 2598063e..43f86fa3 100644
--- a/src/ldso/dynlink.c
+++ b/src/ldso/dynlink.c
@@ -1914,11 +1914,6 @@ int dl_iterate_phdr(int(*callback)(struct dl_phdr_info *info, size_t size, void
return ret;
}
#else
-void *dlopen(const char *file, int mode)
-{
- error("Dynamic loading not supported");
- return 0;
-}
void *__dlsym(void *restrict p, const char *restrict s, void *restrict ra)
{
error("Symbol not found: %s", s);