x86/entry: Make entry_64_compat.S objtool clean
authorPeter Zijlstra <peterz@infradead.org>
Tue, 12 May 2020 16:17:12 +0000 (18:17 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 11 Jun 2020 13:14:40 +0000 (15:14 +0200)
commit1c3e5d3f60e26415d4227aa1193cf9e2db4df834
tree243f10f5e8d725c4417529c8d5f514f31fb06adf
parenta7ef9ba986b5fae9d80f8a7b31db0423687efe4e
x86/entry: Make entry_64_compat.S objtool clean

Currently entry_64_compat is exempt from objtool, but with vmlinux
mode there is no hiding it.

Make the following changes to make it pass:

 - change entry_SYSENTER_compat to STT_NOTYPE; it's not a function
   and doesn't have function type stack setup.

 - mark all STT_NOTYPE symbols with UNWIND_HINT_EMPTY; so we do
   validate them and don't treat them as unreachable.

 - don't abuse RSP as a temp register, this confuses objtool
   mightily as it (rightfully) thinks we're doing unspeakable
   things to the stack.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Acked-by: Andy Lutomirski <luto@kernel.org>
Link: https://lkml.kernel.org/r/20200505134341.272248024@linutronix.de
arch/x86/entry/Makefile
arch/x86/entry/entry_64_compat.S