]>
Commit | Line | Data |
---|---|---|
a9171047 | 1 | #! @KSH@ |
d4697bc9 | 2 | # Copyright (C) 2011-2014 Free Software Foundation, Inc. |
a9171047 UD |
3 | # This file is part of the GNU C Library. |
4 | ||
5 | # The GNU C Library is free software; you can redistribute it and/or | |
6 | # modify it under the terms of the GNU Lesser General Public | |
7 | # License as published by the Free Software Foundation; either | |
8 | # version 2.1 of the License, or (at your option) any later version. | |
9 | ||
10 | # The GNU C Library is distributed in the hope that it will be useful, | |
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 | # Lesser General Public License for more details. | |
14 | ||
15 | # You should have received a copy of the GNU Lesser General Public | |
59ba27a6 PE |
16 | # License along with the GNU C Library; if not, see |
17 | # <http://www.gnu.org/licenses/>. | |
a9171047 UD |
18 | |
19 | # We should be able to find the translation right at the beginning. | |
20 | TEXTDOMAIN=libc | |
21 | TEXTDOMAINDIR=@TEXTDOMAINDIR@ | |
22 | ||
23 | unset SOTRUSS_FROMLIST | |
24 | unset SOTRUSS_TOLIST | |
25 | unset SOTRUSS_OUTNAME | |
26 | unset SOTRUSS_EXIT | |
27 | unset SOTRUSS_NOINDENT | |
28 | SOTRUSS_WHICH=$$ | |
29 | lib='@PREFIX@/$LIB/audit/sotruss-lib.so' | |
30 | ||
31 | function do_help { | |
32 | echo $"Usage: sotruss [OPTION...] [--] EXECUTABLE [EXECUTABLE-OPTION...] | |
633e9e0f UD |
33 | -F, --from FROMLIST Trace calls from objects on FROMLIST |
34 | -T, --to TOLIST Trace calls to objects on TOLIST | |
a9171047 | 35 | |
633e9e0f UD |
36 | -e, --exit Also show exits from the function calls |
37 | -f, --follow Trace child processes | |
38 | -o, --output FILENAME Write output to FILENAME (or FILENAME.$PID in case | |
a9171047 UD |
39 | -f is also used) instead of standard error |
40 | ||
633e9e0f UD |
41 | -?, --help Give this help list |
42 | --usage Give a short usage message | |
43 | --version Print program version" | |
a9171047 UD |
44 | |
45 | echo | |
46 | printf $"Mandatory arguments to long options are also mandatory for any corresponding\nshort options.\n" | |
47 | echo | |
48 | ||
8b748aed JM |
49 | printf $"For bug reporting instructions, please see:\\n%s.\\n" \ |
50 | "@REPORT_BUGS_TO@" | |
a9171047 UD |
51 | exit 0 |
52 | } | |
53 | ||
54 | function do_missing_arg { | |
55 | printf >&2 $"%s: option requires an argument -- '%s'\n" sotruss "$1" | |
56 | printf >&2 $"Try \`%s --help' or \`%s --usage' for more information.\n" sotruss sotruss | |
57 | exit 1 | |
58 | } | |
59 | ||
60 | function do_ambiguous { | |
61 | printf >&2 $"%s: option is ambiguous; possibilities:" | |
62 | while test $# -gt 0; do | |
63 | printf >&2 " '%s'" $1 | |
64 | shift | |
65 | done | |
66 | printf >&2 "\n" | |
67 | printf >&2 $"Try \`%s --help' or \`%s --usage' for more information.\n" sotruss sotruss | |
68 | exit 1 | |
69 | } | |
70 | ||
71 | while test $# -gt 0; do | |
72 | case "$1" in | |
73 | --v | --ve | --ver | --vers | --versi | --versio | --version) | |
8b748aed | 74 | echo "sotruss @PKGVERSION@@VERSION@" |
a9171047 UD |
75 | printf $"Copyright (C) %s Free Software Foundation, Inc. |
76 | This is free software; see the source for copying conditions. There is NO | |
77 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | |
88726d48 | 78 | " "2014" |
a9171047 UD |
79 | printf $"Written by %s.\n" "Ulrich Drepper" |
80 | exit 0 | |
81 | ;; | |
633e9e0f | 82 | -\? | --h | --he | --hel | --help) |
a9171047 UD |
83 | do_help |
84 | ;; | |
85 | --u | --us | --usa | --usag | --usage) | |
86 | printf $"Usage: %s [-ef] [-F FROMLIST] [-o FILENAME] [-T TOLIST] [--exit] | |
633e9e0f UD |
87 | [--follow] [--from FROMLIST] [--output FILENAME] [--to TOLIST] |
88 | [--help] [--usage] [--version] [--] | |
89 | EXECUTABLE [EXECUTABLE-OPTION...]\n" sotruss | |
a9171047 UD |
90 | exit 0 |
91 | ;; | |
92 | -F | --fr | --fro | --from) | |
93 | if test $# -eq 1; then | |
94 | do_missing_arg "$1" | |
95 | fi | |
96 | shift | |
d260b3b4 | 97 | SOTRUSS_FROMLIST="$1" |
a9171047 UD |
98 | ;; |
99 | -T | --t | --to) | |
100 | if test $# -eq 1; then | |
101 | do_missing_arg "$1" | |
102 | fi | |
103 | shift | |
d260b3b4 | 104 | SOTRUSS_TOLIST="$1" |
a9171047 UD |
105 | ;; |
106 | -o | --o | --ou | --out | --outp | --outpu | --output) | |
107 | if test $# -eq 1; then | |
108 | do_missing_arg "$1" | |
109 | fi | |
110 | shift | |
111 | SOTRUSS_OUTNAME="$1" | |
112 | ;; | |
113 | -f | --fo | --fol | --foll | --follo | --follow) | |
114 | unset SOTRUSS_WHICH | |
115 | ;; | |
116 | -l | --l | --li | --lib) | |
117 | if test $# -eq 1; then | |
118 | do_missing_arg "$1" | |
119 | fi | |
120 | shift | |
121 | lib="$1" | |
122 | ;; | |
123 | -e | --e | --ex | --exi | --exit) | |
124 | SOTRUSS_EXIT=1 | |
125 | ;; | |
126 | --f) | |
127 | do_ambiguous '--from' '--follow' | |
128 | ;; | |
129 | --) | |
130 | shift | |
131 | break | |
132 | ;; | |
133 | -*) | |
134 | printf >&2 $"%s: unrecognized option '%c%s'\n" sotruss '-' ${1#-} | |
135 | printf >&2 $"Try \`%s --help' or \`%s --usage' for more information.\n" sotruss sotruss | |
136 | exit 1 | |
137 | ;; | |
138 | *) | |
139 | break | |
140 | ;; | |
141 | esac | |
142 | shift | |
143 | done | |
144 | ||
145 | export SOTRUSS_FROMLIST | |
146 | export SOTRUSS_TOLIST | |
147 | export SOTRUSS_OUTNAME | |
148 | export SOTRUSS_WHICH | |
149 | export SOTRUSS_EXIT | |
150 | export LD_AUDIT="$lib" | |
151 | ||
152 | exec "$@" | |
153 | # Local Variables: | |
154 | # mode:ksh | |
155 | # End: |