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