aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/addr2line
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2013-03-11 18:12:07 -0400
committerRuss Cox <rsc@golang.org>2013-03-11 18:12:07 -0400
commitd2be8f29485f80d41d84970aa32329b3621c9dab (patch)
tree390d8f08001116a49dbc21e3d8a65ac6546f75f5 /src/cmd/addr2line
parent401e0fea3ad120a495f7c8770cfbf1278c00c16e (diff)
downloadgo-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.c19
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();