objtool: Support addition to set CFA base
authorJulien Thierry <jthierry@redhat.com>
Wed, 14 Oct 2020 07:38:01 +0000 (08:38 +0100)
committerJosh Poimboeuf <jpoimboe@redhat.com>
Thu, 14 Jan 2021 00:13:10 +0000 (18:13 -0600)
commit468af56a7bbaa626da5a4578bedc930d731fba13
treed928c9ef930731168ca94e101e24b2b2e8704abf
parentfb084fde0c8106bc86df243411751c3421c07c08
objtool: Support addition to set CFA base

On arm64, the compiler can set the frame pointer either
with a move operation or with and add operation like:

    add (SP + constant), BP

For a simple move operation, the CFA base is changed from SP to BP.
Handle also changing the CFA base when the frame pointer is set with
an addition instruction.

Signed-off-by: Julien Thierry <jthierry@redhat.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
tools/objtool/check.c