lkml.org 
[lkml]   [2020]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC][PATCH 2/5] objtool: Move struct objtool_file into arch-independent header
From
Date
Hi Matt,

On 5/11/20 6:35 PM, Matt Helsley wrote:
> The objtool_file structure describing the files objtool works on is
> not architecture dependent -- it's not x86 only -- and it will be useful
> for any future commands that might not be part of the check / orc
> tooling. So we move it from the check.h header into the objtool.h header.
>

The change itself looks alright to me, however I'd say the justification
is more about the fact the more subcommands dealing with object files
are going to be added to objtool, and all those subcommand will likely
use the objtool_file representation.

I think it doesn't have much to do with arch specificity. (But this is
really about the commit message, otherwise the changes make sense)

> Signed-off-by: Matt Helsley <mhelsley@vmware.com>
> ---
> tools/objtool/check.h | 10 +---------
> tools/objtool/objtool.h | 20 ++++++++++++++++++++
> 2 files changed, 21 insertions(+), 9 deletions(-)
> create mode 100644 tools/objtool/objtool.h
>
> diff --git a/tools/objtool/check.h b/tools/objtool/check.h
> index f0ce8ffe7135..ec6ff7f0970c 100644
> --- a/tools/objtool/check.h
> +++ b/tools/objtool/check.h
> @@ -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_reg cfa;
> @@ -47,13 +46,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,
> diff --git a/tools/objtool/objtool.h b/tools/objtool/objtool.h
> new file mode 100644
> index 000000000000..afa52fe6f644
> --- /dev/null
> +++ b/tools/objtool/objtool.h
> @@ -0,0 +1,20 @@
> +/* 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
>

--
Julien Thierry

\
 
 \ /
  Last update: 2020-05-12 19:05    [W:0.216 / U:1.232 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site