Date: Tue, 9 Jan 2007 13:13:49 -0500 From: John Baldwin <jhb@freebsd.org> To: src-committers@freebsd.org Cc: cvs-src@freebsd.org, cvs-all@freebsd.org Subject: Re: cvs commit: src/libexec/rtld-elf rtld.c src/usr.bin/kdump kdump.c Message-ID: <200701091313.50169.jhb@freebsd.org> In-Reply-To: <200701091750.l09Ho520002603@repoman.freebsd.org> References: <200701091750.l09Ho520002603@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 09 January 2007 12:50, John Baldwin wrote: > jhb 2007-01-09 17:50:05 UTC > > FreeBSD src repository > > Modified files: > libexec/rtld-elf rtld.c > usr.bin/kdump kdump.c > Log: > Add various utrace's for use with ktrace to the ELF runtime linker. To > activate the traces, set the LD_UTRACE (or LD_32_UTRACE) environment > variable. This also includes code in kdump(8) to parse the traces. > > Reviewed by: kan, jdp > MFC after: 2 weeks Some sample output: -bash-2.05b$ cat foo.c #include <dlfcn.h> #include <err.h> int main(int ac, char **av) { void *p; p = dlopen("libpcap.so.4", RTLD_NOW); if (p == 0) errx(1, "dlopen: %s", dlerror()); dlclose(p); } -bash-2.05b$ env LD_UTRACE=yes LD_PRELOAD=libm.so.2 ktrace ./foo -bash-2.05b$ kdump -t u 17266 foo USER RTLD: loaded 0x800529200 @ 0x800633000 - 0x800754fff (/usr/lib/compat/libm.so.2) 17266 foo USER RTLD: LD_PRELOAD finished 17266 foo USER RTLD: loaded 0x800529400 @ 0x800755000 - 0x80096cfff (/lib/libc.so.6) 17266 foo USER RTLD: init 0x8006362c0 for 0x800529200 (/usr/lib/compat/libm.so.2) 17266 foo USER RTLD: init 0x80077e568 for 0x800529400 (/lib/libc.so.6) 17266 foo USER dlopen(libpcap.so.4, RTLD_NOW) 17266 foo USER RTLD: loaded 0x800529600 @ 0x80096d000 - 0x800a96fff (/lib/libpcap.so.4) 17266 foo USER 0x800529600 = dlopen(libpcap.so.4) ref 1 17266 foo USER RTLD: init 0x800971b70 for 0x800529600 (/lib/libpcap.so.4) 17266 foo USER dlclose(0x800529600) (/lib/libpcap.so.4, 1) 17266 foo USER RTLD: fini 0x8009840b4 for 0x800529600 (/lib/libpcap.so.4) 17266 foo USER RTLD: unloaded 0x800529600 @ 0x80096d000 - 0x800a96fff (/lib/libpcap.so.4) 17266 foo USER dlclose(0x800529600) finished 17266 foo USER RTLD: fini 0x80082cdf4 for 0x800529400 (/lib/libc.so.6) 17266 foo USER RTLD: fini 0x80064a1a4 for 0x800529200 (/usr/lib/compat/libm.so.2) -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200701091313.50169.jhb>