-/* These are stubs for functions that are actually defined
- * in the dynamic linker (dlfcn.c), and hijacked at runtime.
- */
-void *dlopen(const char *filename, int flag) { return 0; }
-const char *dlerror(void) { return 0; }
-void *dlsym(void *handle, const char *symbol) { return 0; }
-int dladdr(const void *addr, Dl_info *info) { return 0; }
-int dlclose(void *handle) { return 0; }
+#include <link.h>
+#include <stdlib.h>
+#include <android/dlext.h>
+
+// These are stubs for functions that are actually defined
+// in the dynamic linker and hijacked at runtime.