summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2015-03-08 22:22:34 -0400
committermidipix <writeonce@midipix.org>2015-03-08 22:22:34 -0400
commit3c3117746510caa0caaf09c4142ad2b60e814759 (patch)
tree2d5a129fa6966897f69285d9c8b61b5a1e7044a2 /src
parent71c767f500caf74ef5bec3c1200b18dc4af9093a (diff)
downloadmmglue-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')
-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)