Messages in this thread | | | Date | Thu, 2 Apr 2020 17:04:07 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH 3/7] objtool: Add support for intra-function calls |
| |
On Thu, Apr 02, 2020 at 03:24:45PM +0200, Alexandre Chartre wrote: > On 4/2/20 2:53 PM, Julien Thierry wrote: > > On 4/2/20 9:22 AM, Alexandre Chartre wrote:
> > > + sec = find_section_by_name(file->elf, > > > + ".rela.discard.intra_function_call"); > > > > I'm wondering, do we really need to annotate the intra_function_call > > and group the in a section? > > > > Would it be a problem to consider all (static) call instructions with > > a destination that is not the start offset of a symbol to be an > > intra-function call (and set insn->intra_function_call and > > insn->jump_dest accordingly)? > > Correct, we could automatically detect intra-function calls instead of > having to annotate them. However, I choose to annotate them because I don't > think that's not an expected construct in a "normal" code flow (at least > on x86). So objtool would still issue a warning on intra-function calls > by default, and you can annotate them to indicate if they are expected.
I wondered the same thing when reading the patch. I'm confliected on this. On the one hand auto-detecting this seems like an excellent idea.
If/when the compiler generates them, they had better be okay too.
Josh?
| |