Date: Sun, 18 Jan 1998 12:59:19 -0800 From: John Polstra <jdp@polstra.com> To: hackers@FreeBSD.ORG Subject: Re: dladdr hax Message-ID: <199801182059.MAA15204@austin.polstra.com>
next in thread | raw e-mail | index | archive | help
This is a multipart MIME message. --===_0_Sun_Jan_18_12:57:47_PST_1998 Content-Type: text/plain; charset=us-ascii Could somebody with access to a Solaris machine please compile and run the attached program, and send me its output? Thanks, John -- John Polstra jdp@polstra.com John D. Polstra & Co., Inc. Seattle, Washington USA "Self-knowledge is always bad news." -- John Barth --===_0_Sun_Jan_18_12:57:47_PST_1998 Content-Type: text/plain; charset=us-ascii Content-Description: test.c #include <dlfcn.h> #include <stdio.h> #include <unistd.h> #define TRY(name) (try(#name, &name)) extern int end; int foo; int bar=100; static void try(const char *name, void *addr) { Dl_info dli; printf("&%s = %p:\n", name, addr); if (dladdr(addr, &dli) == 0) printf(" dladdr failed\n"); else { printf(" fname = %s\n", dli.dli_fname); printf(" fbase = %p\n", dli.dli_fbase); printf(" sname = %s\n", dli.dli_sname); printf(" saddr = %p\n", dli.dli_saddr); } } main(int argc, char **argv) { printf("argv[0] = %s\n", argv[0]); printf("&end = %p\n", &end); TRY(foo); TRY(bar); TRY(main); TRY(printf); TRY(setuid); return 0; } --===_0_Sun_Jan_18_12:57:47_PST_1998--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199801182059.MAA15204>