summaryrefslogtreecommitdiff
path: root/tools/objtool/check.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2017-10-23 13:31:17 +0200
committerIngo Molnar <mingo@kernel.org>2017-10-23 13:31:17 +0200
commitbae9525531c1f73bfd9b34d2e065d95a352ba9da (patch)
tree0b56f3babd60b13501bfbacc98e034df067bad8c /tools/objtool/check.c
parentf95b23a112f1a31ea042483540cd907b58d23a5f (diff)
parent6a93bb7e4a7d6670677d5b0eb980936eb9cc5d2e (diff)
downloadlinux-bae9525531c1f73bfd9b34d2e065d95a352ba9da.tar.gz
linux-bae9525531c1f73bfd9b34d2e065d95a352ba9da.tar.xz
Merge branch 'core/objtool' into x86/asm, to pick up dependent changes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/objtool/check.c')
-rw-r--r--tools/objtool/check.c7
1 files changed, 5 insertions, 2 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;