Skip to content

Commit

Permalink
objtool: Move struct objtool_file into arch-independent header
Browse files Browse the repository at this point in the history
The objtool_file structure describes the files objtool works on,
is used by the check subcommand, and the check.h header is included
by the orc subcommands so it's presently used by all subcommands.

Since the structure will be useful in all subcommands besides check,
and some subcommands may not want to include check.h to get the
definition, split the structure out into a new header meant for use
by all objtool subcommands.

Signed-off-by: Matt Helsley <mhelsley@vmware.com>
Reviewed-by: Julien Thierry <jthierry@redhat.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
  • Loading branch information
Matt Helsley authored and Josh Poimboeuf committed May 20, 2020
1 parent f15c648 commit d37c90d
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 9 deletions.
10 changes: 1 addition & 9 deletions tools/objtool/check.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,10 @@
#define _CHECK_H

#include <stdbool.h>
#include "elf.h"
#include "objtool.h"
#include "cfi.h"
#include "arch.h"
#include "orc.h"
#include <linux/hashtable.h>

struct insn_state {
struct cfi_state cfi;
Expand Down Expand Up @@ -48,13 +47,6 @@ struct instruction {
struct orc_entry orc;
};

struct objtool_file {
struct elf *elf;
struct list_head insn_list;
DECLARE_HASHTABLE(insn_hash, 20);
bool ignore_unreachables, c_file, hints, rodata;
};

int check(const char *objname, bool orc);

struct instruction *find_insn(struct objtool_file *file,
Expand Down
22 changes: 22 additions & 0 deletions tools/objtool/objtool.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/* 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"

struct objtool_file {
struct elf *elf;
struct list_head insn_list;
DECLARE_HASHTABLE(insn_hash, 20);
bool ignore_unreachables, c_file, hints, rodata;
};

#endif /* _OBJTOOL_H */

0 comments on commit d37c90d

Please sign in to comment.