Messages in this thread | | | Date | Tue, 7 Apr 2020 15:07:29 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH V2 5/9] objtool: Add support for intra-function calls |
| |
On Tue, Apr 07, 2020 at 09:31:38AM +0200, Alexandre Chartre wrote:
> index a62e032863a8..7ee1561bf7ad 100644 > --- a/tools/objtool/arch/x86/decode.c > +++ b/tools/objtool/arch/x86/decode.c > @@ -497,3 +497,15 @@ void arch_initial_func_cfi_state(struct cfi_state *state) > state->regs[16].base = CFI_CFA; > state->regs[16].offset = -8; > } > + > + > +void arch_configure_intra_function_call(struct stack_op *op) > +{ > + /* > + * For the impact on the stack, make an intra-function > + * call behaves like a push of an immediate value (the > + * return address). > + */ > + op->src.type = OP_SRC_CONST; > + op->dest.type = OP_DEST_PUSH; > +}
An alternative is to always set up stack ops for CALL/RET on decode, but conditionally run update_insn_state() for them.
Not sure that makes more logical sense, but the patch would be simpler I think.
| |