Re: [PATCH] objtool: fix rare switch jump table pattern detection

From: Josh Poimboeuf
Date: Wed Oct 26 2016 - 12:45:41 EST


On Wed, Oct 26, 2016 at 06:03:44PM +0200, Arnd Bergmann wrote:
> On Wednesday, October 26, 2016 10:34:08 AM CEST Josh Poimboeuf wrote:
> > The following commit:
> >
> > 3732710ff6f2 ("objtool: Improve rare switch jump table pattern detection")
> >
> > ... improved objtool's ability to detect gcc switch statement jump
> > tables for gcc 6. However the check to allow short jumps with the
> > scanned range of instructions wasn't quite right. The pattern detection
> > should allow jumps to the indirect jump instruction itself.
> >
> > This fixes the following warning:
> >
> > drivers/infiniband/sw/rxe/rxe_comp.o: warning: objtool: rxe_completer()+0x315: sibling call from callable instruction with changed frame pointer
> >
> > Reported-by: Arnd Bergmann <arnd@xxxxxxxx>
> > Fixes: 3732710ff6f2 ("objtool: Improve rare switch jump table pattern detection")
> > Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
>
> Tested-by: Arnd Bergmann <arnd@xxxxxxxx>
>
> It fixes the mlx4/resource_tracker.o problem, but not the other
> one for ttusb-dec/ttusb_dec.o, as you mentioned.
>
> Do you need any more help creating a testcase for that one?

No, I can recreate the ttusb_dec.o warning with the config you gave me
for this one. Thanks!

--
Josh