| From 43a4525f80534530077683f6472d8971646b0ace Mon Sep 17 00:00:00 2001 |
| From: Peter Zijlstra <peterz@infradead.org> |
| Date: Tue, 16 Jan 2018 17:16:32 +0100 |
| Subject: objtool: Use existing global variables for options |
| |
| From: Peter Zijlstra <peterz@infradead.org> |
| |
| commit 43a4525f80534530077683f6472d8971646b0ace upstream. |
| |
| Use the existing global variables instead of passing them around and |
| creating duplicate global variables. |
| |
| Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> |
| Acked-by: Thomas Gleixner <tglx@linutronix.de> |
| Acked-by: Josh Poimboeuf <jpoimboe@redhat.com> |
| Cc: Andy Lutomirski <luto@kernel.org> |
| Cc: Arjan van de Ven <arjan@linux.intel.com> |
| Cc: Borislav Petkov <bp@alien8.de> |
| Cc: Dan Williams <dan.j.williams@intel.com> |
| Cc: Dave Hansen <dave.hansen@linux.intel.com> |
| Cc: David Woodhouse <dwmw2@infradead.org> |
| Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Cc: Linus Torvalds <torvalds@linux-foundation.org> |
| Cc: Peter Zijlstra <peterz@infradead.org> |
| Signed-off-by: Ingo Molnar <mingo@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| tools/objtool/builtin-check.c | 2 +- |
| tools/objtool/builtin-orc.c | 6 +----- |
| tools/objtool/builtin.h | 5 +++++ |
| tools/objtool/check.c | 5 ++--- |
| tools/objtool/check.h | 2 +- |
| 5 files changed, 10 insertions(+), 10 deletions(-) |
| |
| --- a/tools/objtool/builtin-check.c |
| +++ b/tools/objtool/builtin-check.c |
| @@ -53,5 +53,5 @@ int cmd_check(int argc, const char **arg |
| |
| objname = argv[0]; |
| |
| - return check(objname, no_fp, no_unreachable, false); |
| + return check(objname, false); |
| } |
| --- a/tools/objtool/builtin-orc.c |
| +++ b/tools/objtool/builtin-orc.c |
| @@ -25,7 +25,6 @@ |
| */ |
| |
| #include <string.h> |
| -#include <subcmd/parse-options.h> |
| #include "builtin.h" |
| #include "check.h" |
| |
| @@ -36,9 +35,6 @@ static const char *orc_usage[] = { |
| NULL, |
| }; |
| |
| -extern const struct option check_options[]; |
| -extern bool no_fp, no_unreachable; |
| - |
| int cmd_orc(int argc, const char **argv) |
| { |
| const char *objname; |
| @@ -54,7 +50,7 @@ int cmd_orc(int argc, const char **argv) |
| |
| objname = argv[0]; |
| |
| - return check(objname, no_fp, no_unreachable, true); |
| + return check(objname, true); |
| } |
| |
| if (!strcmp(argv[0], "dump")) { |
| --- a/tools/objtool/builtin.h |
| +++ b/tools/objtool/builtin.h |
| @@ -17,6 +17,11 @@ |
| #ifndef _BUILTIN_H |
| #define _BUILTIN_H |
| |
| +#include <subcmd/parse-options.h> |
| + |
| +extern const struct option check_options[]; |
| +extern bool no_fp, no_unreachable; |
| + |
| extern int cmd_check(int argc, const char **argv); |
| extern int cmd_orc(int argc, const char **argv); |
| |
| --- a/tools/objtool/check.c |
| +++ b/tools/objtool/check.c |
| @@ -18,6 +18,7 @@ |
| #include <string.h> |
| #include <stdlib.h> |
| |
| +#include "builtin.h" |
| #include "check.h" |
| #include "elf.h" |
| #include "special.h" |
| @@ -33,7 +34,6 @@ struct alternative { |
| }; |
| |
| const char *objname; |
| -static bool no_fp; |
| struct cfi_state initial_func_cfi; |
| |
| struct instruction *find_insn(struct objtool_file *file, |
| @@ -2021,13 +2021,12 @@ static void cleanup(struct objtool_file |
| elf_close(file->elf); |
| } |
| |
| -int check(const char *_objname, bool _no_fp, bool no_unreachable, bool orc) |
| +int check(const char *_objname, bool orc) |
| { |
| struct objtool_file file; |
| int ret, warnings = 0; |
| |
| objname = _objname; |
| - no_fp = _no_fp; |
| |
| file.elf = elf_open(objname, orc ? O_RDWR : O_RDONLY); |
| if (!file.elf) |
| --- a/tools/objtool/check.h |
| +++ b/tools/objtool/check.h |
| @@ -63,7 +63,7 @@ struct objtool_file { |
| bool ignore_unreachables, c_file, hints; |
| }; |
| |
| -int check(const char *objname, bool no_fp, bool no_unreachable, bool orc); |
| +int check(const char *objname, bool orc); |
| |
| struct instruction *find_insn(struct objtool_file *file, |
| struct section *sec, unsigned long offset); |