diff options
author | Ingo Molnar <mingo@kernel.org> | 2017-10-23 13:31:17 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2017-10-23 13:31:17 +0200 |
commit | bae9525531c1f73bfd9b34d2e065d95a352ba9da (patch) | |
tree | 0b56f3babd60b13501bfbacc98e034df067bad8c /tools | |
parent | Merge branch 'x86/urgent' into x86/asm, to pick up dependent fixes (diff) | |
parent | objtool: Print top level commands on incorrect usage (diff) | |
download | linux-bae9525531c1f73bfd9b34d2e065d95a352ba9da.tar.xz linux-bae9525531c1f73bfd9b34d2e065d95a352ba9da.zip |
Merge branch 'core/objtool' into x86/asm, to pick up dependent changes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/objtool/check.c | 7 | ||||
-rw-r--r-- | tools/objtool/objtool.c | 6 |
2 files changed, 7 insertions, 6 deletions
diff --git a/tools/objtool/check.c b/tools/objtool/check.c index a0c518ecf085..83f370fa00c2 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -1752,11 +1752,14 @@ static int validate_branch(struct objtool_file *file, struct instruction *first, if (insn->dead_end) return 0; - insn = next_insn; - if (!insn) { + if (!next_insn) { + if (state.cfa.base == CFI_UNDEFINED) + return 0; WARN("%s: unexpected end of section", sec->name); return 1; } + + insn = next_insn; } return 0; diff --git a/tools/objtool/objtool.c b/tools/objtool/objtool.c index 31e0f9143840..07f329919828 100644 --- a/tools/objtool/objtool.c +++ b/tools/objtool/objtool.c @@ -70,7 +70,7 @@ static void cmd_usage(void) printf("\n"); - exit(1); + exit(129); } static void handle_options(int *argc, const char ***argv) @@ -86,9 +86,7 @@ static void handle_options(int *argc, const char ***argv) break; } else { fprintf(stderr, "Unknown option: %s\n", cmd); - fprintf(stderr, "\n Usage: %s\n", - objtool_usage_string); - exit(1); + cmd_usage(); } (*argv)++; |