mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-27 22:53:55 +08:00
1c3e5d3f60
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
25 lines
772 B
Makefile
25 lines
772 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for the x86 low level entry code
|
|
#
|
|
|
|
KASAN_SANITIZE := n
|
|
UBSAN_SANITIZE := n
|
|
KCOV_INSTRUMENT := n
|
|
|
|
CFLAGS_REMOVE_common.o = $(CC_FLAGS_FTRACE) -fstack-protector -fstack-protector-strong
|
|
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
|
|
|
|
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
|
|
obj-y += common.o
|
|
|
|
obj-y += vdso/
|
|
obj-y += vsyscall/
|
|
|
|
obj-$(CONFIG_IA32_EMULATION) += entry_64_compat.o syscall_32.o
|
|
obj-$(CONFIG_X86_X32_ABI) += syscall_x32.o
|
|
|