xref: /openbmc/linux/tools/perf/util/usage.c (revision b2441318)
1b2441318SGreg Kroah-Hartman // SPDX-License-Identifier: GPL-2.0
286470930SIngo Molnar /*
35f9273d6SNamhyung Kim  * usage.c
45f9273d6SNamhyung Kim  *
55f9273d6SNamhyung Kim  * Various reporting routines.
65f9273d6SNamhyung Kim  * Originally copied from GIT source.
786470930SIngo Molnar  *
886470930SIngo Molnar  * Copyright (C) Linus Torvalds, 2005
986470930SIngo Molnar  */
1086470930SIngo Molnar #include "util.h"
110d37aa34SArnaldo Carvalho de Melo #include "debug.h"
1286470930SIngo Molnar 
136c346643SArnaldo Carvalho de Melo static __noreturn void usage_builtin(const char *err)
1486470930SIngo Molnar {
15716c69feSIngo Molnar 	fprintf(stderr, "\n Usage: %s\n", err);
1686470930SIngo Molnar 	exit(129);
1786470930SIngo Molnar }
1886470930SIngo Molnar 
1986470930SIngo Molnar /* If we are in a dlopen()ed .so write to a global variable would segfault
2086470930SIngo Molnar  * (ugh), so keep things static. */
216c346643SArnaldo Carvalho de Melo static void (*usage_routine)(const char *err) __noreturn = usage_builtin;
222690c730SNamhyung Kim 
2386470930SIngo Molnar void usage(const char *err)
2486470930SIngo Molnar {
2586470930SIngo Molnar 	usage_routine(err);
2686470930SIngo Molnar }
27