Re: [PATCH v6 14/17] static_call: Handle tail-calls

From: Peter Zijlstra
Date: Sat Jul 11 2020 - 01:10:44 EST


On Fri, Jul 10, 2020 at 08:23:19PM -0400, Steven Rostedt wrote:
> On Fri, 10 Jul 2020 15:38:45 +0200
> Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> > @@ -1639,6 +1647,10 @@ static int decode_sections(struct objtoo
> > if (ret)
> > return ret;
> >
> > + ret = read_static_call_tramps(file);
> > + if (ret)
> > + return ret;
> > +
> > ret = add_jump_destinations(file);
> > if (ret)
> > return ret;
> > @@ -1671,10 +1683,6 @@ static int decode_sections(struct objtoo
> > if (ret)
> > return ret;
> >
> > - ret = read_static_call_tramps(file);
> > - if (ret)
> > - return ret;
>
> Hmm, what's the reason for moving this above? Should we have a comment
> here if there's importance that read_static_call_trampoline() is done
> earlier?

I suppose comments is something objtool lacks more of.

The reason is that add_jump_destination() is the thing that does
tail-call detection, and if it wants to add static-call sites, it needs
to know about the trampolines.