diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2013-06-01 09:57:59 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2013-06-01 09:57:59 +0000 |
commit | 68aee1affc9e9f623b3824770f05f34d7c2fe60a (patch) | |
tree | ff6bb4ec4eab9b40d691aebff013e69dbf58683a /libexec/ld.so/Makefile | |
parent | ef21a2cb5b0d81e925c90a50449ba06a311298e0 (diff) |
Introduce ltrace(1). This tool works with ld.so to inject utrace record for
each plt call, allowing to trace a binary linked against shared library at the
public function call level.
To do so, ltrace(1) sets up some environment variables to enable plt tracing
in ld.so, and invokes ktrace(2) for utrace events. ld.so will force lazy
binding and will send an utrace record in the plt resolver, without updating
the plt.
Minimal filtering capabilities are provided, inspired by Solaris' truss -u,
to limit tracing to libraries and/or symbol names. Non-traced libraries and
symbols will have the regular resolver processing, with the expected plt
update.
"Get it in" deraadt
Diffstat (limited to 'libexec/ld.so/Makefile')
-rw-r--r-- | libexec/ld.so/Makefile | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libexec/ld.so/Makefile b/libexec/ld.so/Makefile index a100c590c16..f1b3ab1433f 100644 --- a/libexec/ld.so/Makefile +++ b/libexec/ld.so/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.43 2013/04/05 12:58:03 kurt Exp $ +# $OpenBSD: Makefile,v 1.44 2013/06/01 09:57:55 miod Exp $ SUBDIR=ldconfig ldd MAN= ld.so.1 @@ -16,7 +16,7 @@ VPATH=${.CURDIR}/../../lib/libc/string SRCS= ldasm.S loader.c resolve.c dlfcn.c dl_printf.c rtld_machine.c path.c SRCS+= util.c sod.c strsep.c strtol.c dir.c library_subr.c dl_prebind.c -SRCS+= dl_realpath.c dl_uname.c dl_dirname.c strlcat.c strlen.c +SRCS+= dl_realpath.c dl_uname.c dl_dirname.c strlcat.c strlen.c trace.c .if (${MACHINE_ARCH} == "i386") SRCS+= library_mquery.c .else |