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 klp_symids; 20 bool mcount; 21 bool noabs; 22 bool noinstr; 23 bool orc; 24 int prefix; 25 bool retpoline; 26 bool rethunk; 27 bool unret; 28 bool sls; 29 bool stackval; 30 bool static_call; 31 bool uaccess; 32 33 /* options: */ 34 bool backtrace; 35 bool backup; 36 bool cfi; 37 const char *debug_checksum; 38 bool dryrun; 39 bool fineibt; 40 bool link; 41 bool mnop; 42 bool module; 43 bool no_unreachable; 44 const char *output; 45 bool sec_address; 46 bool stats; 47 const char *trace; 48 bool verbose; 49 bool werror; 50 bool wide; 51 }; 52 53 extern struct opts opts; 54 55 int cmd_parse_options(int argc, const char **argv, const char * const usage[]); 56 57 int objtool_run(int argc, const char **argv); 58 59 int make_backup(void); 60 61 int cmd_klp(int argc, const char **argv); 62 63 #endif /* _BUILTIN_H */ 64