Date: Tue, 23 Mar 1999 23:23:17 -0700 From: Nate Williams <nate@mt.sri.com> To: Steve Price <sprice@hiwaay.net> Cc: freebsd-hackers@FreeBSD.ORG, jdp@FreeBSD.ORG Subject: Re: dladdr(3) question Message-ID: <199903240623.XAA17580@mt.sri.com> In-Reply-To: <Pine.OSF.4.02.9903232035020.150-100000@fly.HiWAAY.net> References: <Pine.OSF.4.02.9903232035020.150-100000@fly.HiWAAY.net>
next in thread | previous in thread | raw e-mail | index | archive | help
> I know I'm probably doing something stupid here, but I
> seem to be having a problem getting dladdr(3) to work.
I just researched this (since I'm as interested in Steve as to why this
doesn't work. :) It appears to me that dladdr is *NOT* supported in ELF
in the current code. However, it is supported in a.out (in 3.* only).
The functionality is missing in /usr/src/libexec/rtld-elf, although I
suspect it's an oversight and not intentional.
I'm not *real* familiar with the loader code, but given it's already
implemented for a.out I suspect it should be easy to add to the elf
loader.
John would know more (hope he's feeling better).
Nate
--------------------
> Here's the code ...
>
> #include <dlfcn.h>
> #include <stdio.h>
> #include <stdlib.h>
> int foo() {
> return 0;
> }
> int main() {
> Dl_info dlinfo;
> if (dladdr(foo, &dlinfo) == 0) {
> printf("dladdr failed: %s\n", dlerror());
> exit(1);
> }
> printf("dli_fname = %s\n", dlinfo.dli_fname);
> return 0;
> }
>
> ... and a couple of sample runs.
>
> bsd[~]$ ./a.out
> dladdr failed: Service unavailable
> bsd[~]$ uname -rs
> FreeBSD 4.0-CURRENT
>
> pepito[~]$ ./a.out
> dli_fname = a.out
> pepito[~]$ uname -rs
> SunOS 5.7
>
> Anyone have any ideas where I'm missing the boat?
>
> -steve
>
>
>
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-hackers" in the body of the message
>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199903240623.XAA17580>
