diff options
author | midipix <writeonce@midipix.org> | 2015-03-08 22:22:34 -0400 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2015-03-08 22:22:34 -0400 |
commit | 3c3117746510caa0caaf09c4142ad2b60e814759 (patch) | |
tree | 2d5a129fa6966897f69285d9c8b61b5a1e7044a2 /src/ldso/nt64 | |
parent | 71c767f500caf74ef5bec3c1200b18dc4af9093a (diff) | |
download | mmglue-3c3117746510caa0caaf09c4142ad2b60e814759.tar.bz2 mmglue-3c3117746510caa0caaf09c4142ad2b60e814759.tar.xz |
dynlink.c: replace stubs with calls into the ldso vtable.
signed-off by Z. Gilboa; see copying.midipix (9cd0746c) for additional information.
Diffstat (limited to 'src/ldso/nt64')
-rw-r--r-- | src/ldso/nt64/dynlink.c | 16 |
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) |