X-Git-Url: https://gitweb.dragonflybsd.org/dragonfly.git/blobdiff_plain/042c9604d92450398a90ad901f741b32c776ca06..6ef6faeb19268917889c5a06b0fa523ae6d67ccd:/sys/kern/kern_linker.c diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c index 9a17d12010..c1159f346b 100644 --- a/sys/kern/kern_linker.c +++ b/sys/kern/kern_linker.c @@ -24,7 +24,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/kern/kern_linker.c,v 1.41.2.3 2001/11/21 17:50:35 luigi Exp $ - * $DragonFly: src/sys/kern/kern_linker.c,v 1.37 2007/05/19 19:33:02 dillon Exp $ + * $DragonFly: src/sys/kern/kern_linker.c,v 1.38 2007/06/07 22:58:11 corecode Exp $ */ #include "opt_ddb.h" @@ -47,6 +47,10 @@ #include +#ifdef _KERNEL_VIRTUAL +#include +#endif + #ifdef KLD_DEBUG int kld_debug = 0; #endif @@ -622,6 +626,14 @@ linker_file_lookup_symbol(linker_file_t file, const char* name, int deps, caddr_ return 0; } +#ifdef _KERNEL_VIRTUAL + *raddr = dlsym(RTLD_NEXT, name); + if (*raddr != NULL) { + KLD_DPF(SYM, ("linker_file_lookup_symbol: found dlsym=%x\n", *raddr)); + return 0; + } +#endif + KLD_DPF(SYM, ("linker_file_lookup_symbol: fail\n")); return ENOENT; }