Merge tag 'v6.9-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[linux-2.6-block.git] / tools / perf / util / usage.c
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
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
31 void usage(const char *err)
32 {
33         usage_routine(err);
34 }