xref: /linux/tools/objtool/include/objtool/builtin.h (revision fc0bb9915bce0c333f918ca76958d804ccd79f89)
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