objtool: Use arch specific values in restore_reg()
authorJulien Thierry <jthierry@redhat.com>
Fri, 27 Mar 2020 15:28:43 +0000 (15:28 +0000)
committerIngo Molnar <mingo@kernel.org>
Wed, 22 Apr 2020 08:53:49 +0000 (10:53 +0200)
The initial register state is set up by arch specific code. Use the
value the arch code has set when restoring registers from the stack.

Suggested-by: Raphael Gault <raphael.gault@arm.com>
Signed-off-by: Julien Thierry <jthierry@redhat.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Miroslav Benes <mbenes@suse.cz>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
tools/objtool/check.c

index efb9640135527c493bab7049340852fb879d0dd2..229d61eba17602832ed3f856149e0f01669af357 100644 (file)
@@ -1486,8 +1486,8 @@ static void save_reg(struct insn_state *state, unsigned char reg, int base,
 
 static void restore_reg(struct insn_state *state, unsigned char reg)
 {
-       state->regs[reg].base = CFI_UNDEFINED;
-       state->regs[reg].offset = 0;
+       state->regs[reg].base = initial_func_cfi.regs[reg].base;
+       state->regs[reg].offset = initial_func_cfi.regs[reg].offset;
 }
 
 /*