summaryrefslogtreecommitdiffhomepage
path: root/src/ldso/nt64/dynlink.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ldso/nt64/dynlink.c')
-rw-r--r--src/ldso/nt64/dynlink.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/ldso/nt64/dynlink.c b/src/ldso/nt64/dynlink.c
index e5329e6..c3cb23e 100644
--- a/src/ldso/nt64/dynlink.c
+++ b/src/ldso/nt64/dynlink.c
@@ -1,40 +1,44 @@
#define _BSD_SOURCE
#include <dlfcn.h>
+#include "psxglue.h"
#include "pthread_impl.h"
+extern struct __ldso_vtbl * __ldso_vtbl;
+
int __dladdr(const void * addr, Dl_info * info)
{
- return 0;
+ return __ldso_vtbl->dladdr(addr,info);
}
int __dlinfo(void * dso, int req, void * res)
{
- return 0;
+ return __ldso_vtbl->dlinfo(dso,req,res);
}
void *__dlsym(void * restrict p, const char * restrict s, void * restrict ra)
{
- return 0;
+ return __ldso_vtbl->dlsym(p,s,ra);
}
void * dlopen(const char * file, int mode)
{
- return 0;
+ return __ldso_vtbl->dlopen(file,mode);
}
int dlclose(void *p)
{
- return 0;
+ return __ldso_vtbl->dlclose(p);
}
char * dlerror(void)
{
- return 0;
+ return __ldso_vtbl->dlerror();
}
void __reset_tls(void)
{
+ __ldso_vtbl->reset_tls();
}
void *__copy_tls(unsigned char * mem)