diff options
author | Russ Cox <rsc@golang.org> | 2013-03-11 18:12:07 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2013-03-11 18:12:07 -0400 |
commit | d2be8f29485f80d41d84970aa32329b3621c9dab (patch) | |
tree | 390d8f08001116a49dbc21e3d8a65ac6546f75f5 /src/cmd/addr2line | |
parent | 401e0fea3ad120a495f7c8770cfbf1278c00c16e (diff) | |
download | go-d2be8f29485f80d41d84970aa32329b3621c9dab.tar.gz go-d2be8f29485f80d41d84970aa32329b3621c9dab.zip |
cmd/addr2line: exit 0 for --help
This is what pprof expects, or else it won't use the program.
And if it doesn't use the program, it gets very bad results.
Fixes #4818.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/7728043
Diffstat (limited to 'src/cmd/addr2line')
-rw-r--r-- | src/cmd/addr2line/main.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/cmd/addr2line/main.c b/src/cmd/addr2line/main.c index 6b2fe5dfe1..9faadc27bb 100644 --- a/src/cmd/addr2line/main.c +++ b/src/cmd/addr2line/main.c @@ -12,12 +12,18 @@ #include <mach.h> void +printusage(int fd) +{ + fprint(fd, "usage: addr2line binary\n"); + fprint(fd, "reads addresses from standard input and writes two lines for each:\n"); + fprint(fd, "\tfunction name\n"); + fprint(fd, "\tfile:line\n"); +} + +void usage(void) { - fprint(2, "usage: addr2line binary\n"); - fprint(2, "reads addresses from standard input and writes two lines for each:\n"); - fprint(2, "\tfunction name\n"); - fprint(2, "\tfile:line\n"); + printusage(2); exits("usage"); } @@ -32,6 +38,11 @@ main(int argc, char **argv) Biobuf bin, bout; char file[1024]; + if(argc > 1 && strcmp(argv[1], "--help") == 0) { + printusage(1); + exits(0); + } + ARGBEGIN{ default: usage(); |