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 dump_orc;
13 	bool hack_jump_label;
14 	bool hack_noinstr;
15 	bool hack_skylake;
16 	bool ibt;
17 	bool mcount;
18 	bool noinstr;
19 	bool orc;
20 	bool retpoline;
21 	bool rethunk;
22 	bool unret;
23 	bool sls;
24 	bool stackval;
25 	bool static_call;
26 	bool uaccess;
27 	int prefix;
28 	bool cfi;
29 
30 	/* options: */
31 	bool backtrace;
32 	bool backup;
33 	bool dryrun;
34 	bool link;
35 	bool mnop;
36 	bool module;
37 	bool no_unreachable;
38 	bool sec_address;
39 	bool stats;
40 	bool verbose;
41 };
42 
43 extern struct opts opts;
44 
45 extern int cmd_parse_options(int argc, const char **argv, const char * const usage[]);
46 
47 extern int objtool_run(int argc, const char **argv);
48 
49 #endif /* _BUILTIN_H */
50