diff options
author | Peter Zijlstra <peterz@infradead.org> | 2020-05-12 18:17:12 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2020-06-11 15:14:40 +0200 |
commit | 1c3e5d3f60e26415d4227aa1193cf9e2db4df834 (patch) | |
tree | 243f10f5e8d725c4417529c8d5f514f31fb06adf /arch/x86/entry/Makefile | |
parent | x86/speculation/mds: Mark mds_user_clear_cpu_buffers() __always_inline (diff) | |
download | linux-1c3e5d3f60e26415d4227aa1193cf9e2db4df834.tar.xz linux-1c3e5d3f60e26415d4227aa1193cf9e2db4df834.zip |
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
Diffstat (limited to 'arch/x86/entry/Makefile')
-rw-r--r-- | arch/x86/entry/Makefile | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/arch/x86/entry/Makefile b/arch/x86/entry/Makefile index cdf45ff92dc8..b7a5790d8d63 100644 --- a/arch/x86/entry/Makefile +++ b/arch/x86/entry/Makefile @@ -11,8 +11,6 @@ CFLAGS_REMOVE_common.o = $(CC_FLAGS_FTRACE) -fstack-protector -fstack-protector- CFLAGS_REMOVE_syscall_32.o = $(CC_FLAGS_FTRACE) -fstack-protector -fstack-protector-strong CFLAGS_REMOVE_syscall_64.o = $(CC_FLAGS_FTRACE) -fstack-protector -fstack-protector-strong -OBJECT_FILES_NON_STANDARD_entry_64_compat.o := y - CFLAGS_syscall_64.o += $(call cc-option,-Wno-override-init,) CFLAGS_syscall_32.o += $(call cc-option,-Wno-override-init,) obj-y := entry_$(BITS).o thunk_$(BITS).o syscall_$(BITS).o |