aboutsummaryrefslogtreecommitdiff
path: root/options.c
diff options
context:
space:
mode:
authorJoe Damato <ice799@gmail.com>2010-10-30 19:56:50 -0700
committerJoe Damato <ice799@gmail.com>2010-11-28 20:07:58 -0800
commitfa2aefc32eb4196966a14d1e7def931652f40d46 (patch)
tree1cf4edb3117d1da86aec9b641cf5ad118286c0b4 /options.c
parentd568f51920d5b2e0813cb5bb7e3cca10fc404623 (diff)
downloadltrace-fa2aefc32eb4196966a14d1e7def931652f40d46.tar.gz
Merge -g option which avoids tracing libraries linked at compile time.
Diffstat (limited to 'options.c')
-rw-r--r--options.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/options.c b/options.c
index aef73b1..604ff68 100644
--- a/options.c
+++ b/options.c
@@ -84,6 +84,7 @@ usage(void) {
" -e expr modify which events to trace.\n"
" -f trace children (fork() and clone()).\n"
" -F, --config=FILE load alternate configuration file (may be repeated).\n"
+ " -g, --no-plt disable breakpoints on PLT entries.\n"
" -h, --help display this help and exit.\n"
" -i print instruction pointer at time of library call.\n"
" -l, --library=FILE print library calls from this library only.\n"
@@ -179,6 +180,7 @@ char **
process_options(int argc, char **argv) {
progname = argv[0];
options.output = stderr;
+ options.no_plt = 0;
guess_cols();
@@ -198,9 +200,10 @@ process_options(int argc, char **argv) {
{"library", 1, 0, 'l'},
{"output", 1, 0, 'o'},
{"version", 0, 0, 'V'},
+ {"no-plt", 0, 0, 'g'},
{0, 0, 0, 0}
};
- c = getopt_long(argc, argv, "+cfhiLrStTV"
+ c = getopt_long(argc, argv, "+cfhiLrStTVg"
# ifdef USE_DEMANGLE
"C"
# endif
@@ -283,6 +286,9 @@ process_options(int argc, char **argv) {
opt_F = tmp;
break;
}
+ case 'g':
+ options.no_plt = 1;
+ break;
case 'h':
usage();
exit(0);
@@ -351,6 +357,7 @@ process_options(int argc, char **argv) {
"This is free software; see the GNU General Public Licence\n"
"version 2 or later for copying conditions. There is NO warranty.\n");
exit(0);
+ break;
case 'X':
#ifdef PLT_REINITALISATION_BP
PLTs_initialized_by_here = optarg;