1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * Copyright (C) 2015 Josh Poimboeuf <jpoimboe@redhat.com> 4 */ 5 #ifndef _BUILTIN_H 6 #define _BUILTIN_H 7 8 #include <subcmd/parse-options.h> 9 10 struct opts { 11 /* actions: */ 12 bool checksum; 13 const char *disas; 14 bool dump_orc; 15 bool hack_jump_label; 16 bool hack_noinstr; 17 bool hack_skylake; 18 bool ibt; 19 bool mcount; 20 bool noabs; 21 bool noinstr; 22 bool orc; 23 int prefix; 24 bool retpoline; 25 bool rethunk; 26 bool unret; 27 bool sls; 28 bool stackval; 29 bool static_call; 30 bool uaccess; 31 32 /* options: */ 33 bool backtrace; 34 bool backup; 35 bool cfi; 36 const char *debug_checksum; 37 bool dryrun; 38 bool fineibt; 39 bool link; 40 bool mnop; 41 bool module; 42 bool no_unreachable; 43 const char *output; 44 bool sec_address; 45 bool stats; 46 const char *trace; 47 bool verbose; 48 bool werror; 49 bool wide; 50 }; 51 52 extern struct opts opts; 53 54 int cmd_parse_options(int argc, const char **argv, const char * const usage[]); 55 56 int objtool_run(int argc, const char **argv); 57 58 int make_backup(void); 59 60 int cmd_klp(int argc, const char **argv); 61 62 #endif /* _BUILTIN_H */ 63