objtool: Fix retpoline support for pre-ORC objtool
Objtool 1.0 (pre-ORC) produces the following warning when it encounters a retpoline: arch/x86/crypto/camellia-aesni-avx2-asm_64.o: warning: objtool: .altinstr_replacement+0xf: return instruction outside of a callable function That warning is meant to catch GCC bugs and missing ENTRY/ENDPROC annotations, neither of which are applicable to alternatives. Silence the warning for alternative instructions, just like objtool 2.0 already does. Reported-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
44f1eae7fe
commit
92e8f20494
@ -1230,6 +1230,14 @@ static int validate_uncallable_instructions(struct objtool_file *file)
|
||||
|
||||
for_each_insn(file, insn) {
|
||||
if (!insn->visited && insn->type == INSN_RETURN) {
|
||||
|
||||
/*
|
||||
* Don't warn about call instructions in unvisited
|
||||
* retpoline alternatives.
|
||||
*/
|
||||
if (!strcmp(insn->sec->name, ".altinstr_replacement"))
|
||||
continue;
|
||||
|
||||
WARN_FUNC("return instruction outside of a callable function",
|
||||
insn->sec, insn->offset);
|
||||
warnings++;
|
||||
|
Loading…
x
Reference in New Issue
Block a user