[Ltrace-devel] [PATCH 10/11] Cleanup and documentation.

Joe Damato ice799 at gmail.com
Mon Nov 8 23:47:43 UTC 2010


- clean up options a bit to alphabetize things :)
- add documentation to the man page for added options which were missing docs
- removed the lib-dl caveat
---
 ChangeLog |   74 ++++++++++++++++++++++++++++++------------------------------
 README    |    1 +
 ltrace.1  |    9 +++++-
 options.c |   14 +++++-----
 4 files changed, 52 insertions(+), 46 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b6a7c69..f64aa3e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -120,43 +120,6 @@
 
 	* Improve ARM syscall_p to handle Thumb-2 syscalls.
 
-2010-01-08  Arnaud Patard <apatard at mandriva.com>
-
-	* sysdeps/linux-gnu/mipsel/mipsel.h: Add floating point register offset.
-	* sysdeps/linux-gnu/x86_64/{ptrace.h, trace.c}: Save a copy of register vlaues and handle floats.
-	* sysdeps/linux-gnu/mips: Symlink created.
-	* sysdeps/linux-gnu/mipsel/trace.c: Handle more argument types.
-	* sysdeps/linux-gnu/trace.c: Don't use PTRACE_SINGLESTEP for MIPS.
-	* sysdeps/linux-gnu/arm/trace.c: Fix return value.
-	* handle_event.c: Fix for MIPS.
-	* sysdeps/linux-gnu/mipsel/{plt.c, regs.c}: Fix includes.
-	* sysdeps/linux-gnu/mipsetl/syscallent.h: Cleanup.
-	* sysdeps/linux-gnu/mipsel/signalent.h: Cleanup.
-	* sysdeps/linux-gnu/trace.c: Fix umovelong.
-	* .gitignore: New file.
-	* handle_event.c: abort() when call nesting too deep.
-	* testsuite/ltrace.minor/count-record.exp: Fix tests.
-	* handle_event.c: Handle functions which do not increase stack depth.
-	* testsuite/ltrace.torture/signals.c: Don't use magic numbers.
-	* testsuite/ltrace.minor/demangle-lib.cpp: Fix build failure.
-	* sysdeps/linux-gnu/mksyscallent_mips: New file.
-	* elf.c: Fix '-l' on MIPS.
-	* debug.h: Add macro guard.
-	* breakpoints.c: Fix MIPS breakpoints.
-
-2009-10-06  Joe Damato <ice799 at gmail.com>
-
-	* handle_event.c: Do not print signals when -b is used.
-	* options.h, options.c: A new option (-b) was added.
-	* ltrace.1: Documentation for -b was added.
-
-2009-09-07  Joe Damato <ice799 at gmail.com>
-
-	* options.c, options.h: A new option (-g) was added.
-	* ltrace.1: Documentation for -g was added.
-	* handle_event.c: Do not print when -g is used.
-	* elf.c: Ditto.
-
 2010-02-03  Marc Kleine-Budde <mkl at pengutronix.de>
 
 	* .gitignore: added git ignore
@@ -196,6 +159,43 @@
 	avoid a conflict with the header files of the "libelfg0-dev"
 	package. This avoids the "-iquote" magic.
 
+2010-01-08  Arnaud Patard <apatard at mandriva.com>
+
+	* sysdeps/linux-gnu/mipsel/mipsel.h: Add floating point register offset.
+	* sysdeps/linux-gnu/x86_64/{ptrace.h, trace.c}: Save a copy of register vlaues and handle floats.
+	* sysdeps/linux-gnu/mips: Symlink created.
+	* sysdeps/linux-gnu/mipsel/trace.c: Handle more argument types.
+	* sysdeps/linux-gnu/trace.c: Don't use PTRACE_SINGLESTEP for MIPS.
+	* sysdeps/linux-gnu/arm/trace.c: Fix return value.
+	* handle_event.c: Fix for MIPS.
+	* sysdeps/linux-gnu/mipsel/{plt.c, regs.c}: Fix includes.
+	* sysdeps/linux-gnu/mipsetl/syscallent.h: Cleanup.
+	* sysdeps/linux-gnu/mipsel/signalent.h: Cleanup.
+	* sysdeps/linux-gnu/trace.c: Fix umovelong.
+	* .gitignore: New file.
+	* handle_event.c: abort() when call nesting too deep.
+	* testsuite/ltrace.minor/count-record.exp: Fix tests.
+	* handle_event.c: Handle functions which do not increase stack depth.
+	* testsuite/ltrace.torture/signals.c: Don't use magic numbers.
+	* testsuite/ltrace.minor/demangle-lib.cpp: Fix build failure.
+	* sysdeps/linux-gnu/mksyscallent_mips: New file.
+	* elf.c: Fix '-l' on MIPS.
+	* debug.h: Add macro guard.
+	* breakpoints.c: Fix MIPS breakpoints.
+
+2009-10-06  Joe Damato <ice799 at gmail.com>
+
+	* handle_event.c: Do not print signals when -b is used.
+	* options.h, options.c: A new option (-b) was added.
+	* ltrace.1: Documentation for -b was added.
+
+2009-09-07  Joe Damato <ice799 at gmail.com>
+
+	* options.c, options.h: A new option (-g) was added.
+	* ltrace.1: Documentation for -g was added.
+	* handle_event.c: Do not print when -g is used.
+	* elf.c: Ditto.
+
 2009-07-25  Juan Cespedes <cespedes at debian.org>
 
 	* New release 0.5.3
diff --git a/README b/README
index ab1a2e5..b6bbb6a 100644
--- a/README
+++ b/README
@@ -37,6 +37,7 @@ people have contributed significantly to this project:
 * Ian Wienand <ianw at gelato.unsw.edu.au> (IA64 port)
 * Eric Vaitl <evaitl at cisco.com> (mipsel port)
 * Petr Machata <pmachata at redhat.com> (misc fixes)
+* Joe Damato <ice799 at gmail.com> (libdl support, libunwind support)
 
 1. Introduction
 ---------------
diff --git a/ltrace.1 b/ltrace.1
index f898f8c..4d320e6 100644
--- a/ltrace.1
+++ b/ltrace.1
@@ -6,7 +6,7 @@ ltrace \- A library call tracer
 
 .SH SYNOPSIS
 .B ltrace
-.I "[-bCfghiLrStttV] [-a column] [-A maxelts] [-D level] [-e expr] [-l filename] [-n nr] [-o filename] [-p pid] ... [-s strsize] [-u username] [-X extern] [-x extern] ... [--align=column] [--debug=level] [--demangle] [--help] [--indent=nr] [--library=filename] [--output=filename] [--version] [command [arg ...]]"
+.I "[-bCfghiLrStttV] [-a column] [-A maxelts] [-D level] [-e expr] [-l filename] [-n nr] [-o filename] [-p pid] ... [-s strsize] [-u username] [-w count] [-X extern] [-x extern] ... [--align=column] [--debug=level] [--demangle] [--help] [--indent=nr] [--library=filename] [--no-signals] [--output=filename] [--version] [--where=NR] [command [arg ...]]"
 
 .SH DESCRIPTION
 .B ltrace
@@ -163,6 +163,10 @@ Run command with the userid, groupid and supplementary groups of
 This option is only useful when running as root and enables the
 correct execution of setuid and/or setgid binaries.
 .TP
+.I \-w, --where NR
+Show backtrace of NR stack frames for each traced function. This option enabled
+only if libunwind support was enabled at compile time.
+.TP
 .I \-X extern
 Some architectures need to know where to set a breakpoint that will be hit
 after the dynamic linker has run.  If this flag is used, then the breakpoint
@@ -174,6 +178,8 @@ NOTE: this flag is only available on the architectures that need it.
 .I \-x extern
 Trace the external function
 .IR extern .
+This option will search the symbol table and lib-dl loaded libraries when
+attempting to match the given symbol name.
 This option may be repeated.
 .TP
 .I \-V, \-\-version
@@ -189,7 +195,6 @@ Option -f sometimes fails to trace some children.
 .LP
 It only works on Linux and in a small subset of architectures.
 .LP
-Calls to dlopen()ed libraries will not be traced.
 .PP
 If you would like to report a bug, send a message to the mailing list
 (ltrace-devel at lists.alioth.debian.org), or use the
diff --git a/options.c b/options.c
index d3e62a0..c7e3be6 100644
--- a/options.c
+++ b/options.c
@@ -236,6 +236,9 @@ process_options(int argc, char **argv) {
 		case 'A':
 			options.arraylen = atoi(optarg);
 			break;
+		case 'b':
+			options.no_signals = 1;
+			break;
 		case 'c':
 			options.summary++;
 			break;
@@ -327,11 +330,6 @@ process_options(int argc, char **argv) {
 		case 'n':
 			options.indent = atoi(optarg);
 			break;
-#if defined(HAVE_LIBUNWIND)
-		case 'w':
-			options.bt_depth = atoi(optarg);
-			break;
-#endif /* defined(HAVE_LIBUNWIND) */
 		case 'o':
 			options.output = fopen(optarg, "w");
 			if (!options.output) {
@@ -380,9 +378,11 @@ process_options(int argc, char **argv) {
 					"version 2 or later for copying conditions.  There is NO warranty.\n");
 			exit(0);
 			break;
-		case 'b':
-			options.no_signals = 1;
+#if defined(HAVE_LIBUNWIND)
+		case 'w':
+			options.bt_depth = atoi(optarg);
 			break;
+#endif /* defined(HAVE_LIBUNWIND) */
 		case 'X':
 #ifdef PLT_REINITALISATION_BP
 			PLTs_initialized_by_here = optarg;
-- 
1.7.0.4




More information about the Ltrace-devel mailing list