Blame view

tools/objtool/objtool.h 768 Bytes
d37c90d47   Matt Helsley   objtool: Move str...
1
2
3
4
5
6
7
8
9
10
11
12
13
  /* SPDX-License-Identifier: GPL-2.0-or-later */
  /*
   * Copyright (C) 2020 Matt Helsley <mhelsley@vmware.com>
   */
  
  #ifndef _OBJTOOL_H
  #define _OBJTOOL_H
  
  #include <stdbool.h>
  #include <linux/list.h>
  #include <linux/hashtable.h>
  
  #include "elf.h"
eda3dc905   Julien Thierry   objtool: Abstract...
14
  #define __weak __attribute__((weak))
d37c90d47   Matt Helsley   objtool: Move str...
15
16
17
18
  struct objtool_file {
  	struct elf *elf;
  	struct list_head insn_list;
  	DECLARE_HASHTABLE(insn_hash, 20);
1e7e47883   Josh Poimboeuf   x86/static_call: ...
19
  	struct list_head static_call_list;
7dcfcd46b   Peter Zijlstra   FROMLIST: objtool...
20
  	struct list_head mcount_loc_list;
d37c90d47   Matt Helsley   objtool: Move str...
21
22
  	bool ignore_unreachables, c_file, hints, rodata;
  };
6545eb030   Julien Thierry   objtool: Move obj...
23
  struct objtool_file *objtool_open_read(const char *_objname);
d44becb9d   Julien Thierry   objtool: Move ORC...
24
  int check(struct objtool_file *file);
0decf1f8d   Matt Helsley   objtool: Enable c...
25
26
27
  int orc_dump(const char *objname);
  int create_orc(struct objtool_file *file);
  int create_orc_sections(struct objtool_file *file);
d37c90d47   Matt Helsley   objtool: Move str...
28
  #endif /* _OBJTOOL_H */