1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * usage.c
4  *
5  * Various reporting routines.
6  * Originally copied from GIT source.
7  *
8  * Copyright (C) Linus Torvalds, 2005
9  */
10 #include "util.h"
11 #include <stdio.h>
12 #include <stdlib.h>
13 #include <linux/compiler.h>
14 
15 const char perf_usage_string[] =
16 	"perf [--version] [--help] [OPTIONS] COMMAND [ARGS]";
17 
18 const char perf_more_info_string[] =
19 	"See 'perf help COMMAND' for more information on a specific command.";
20 
usage_builtin(const char * err)21 static __noreturn void usage_builtin(const char *err)
22 {
23 	fprintf(stderr, "\n Usage: %s\n", err);
24 	exit(129);
25 }
26 
27 /* If we are in a dlopen()ed .so write to a global variable would segfault
28  * (ugh), so keep things static. */
29 static void (*usage_routine)(const char *err) __noreturn = usage_builtin;
30 
usage(const char * err)31 void usage(const char *err)
32 {
33 	usage_routine(err);
34 }
35