mirror of
https://kernel.googlesource.com/pub/scm/linux/kernel/git/stable/linux-stable.git
synced 2025-11-02 03:40:21 +10:00
Clang incorrectly inlines functions with differing stack protector attributes, which breaks __restore_processor_state() that relies on stack protector being disabled. This change disables LTO for cpu.c to work aroung the bug. Link: https://bugs.llvm.org/show_bug.cgi?id=47479 Suggested-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
14 lines
542 B
Makefile
14 lines
542 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
OBJECT_FILES_NON_STANDARD_hibernate_asm_$(BITS).o := y
|
|
|
|
# __restore_processor_state() restores %gs after S3 resume and so should not
|
|
# itself be stack-protected
|
|
CFLAGS_cpu.o := -fno-stack-protector
|
|
|
|
# Clang may incorrectly inline functions with stack protector enabled into
|
|
# __restore_processor_state(): https://bugs.llvm.org/show_bug.cgi?id=47479
|
|
CFLAGS_REMOVE_cpu.o := $(CC_FLAGS_LTO)
|
|
|
|
obj-$(CONFIG_PM_SLEEP) += cpu.o
|
|
obj-$(CONFIG_HIBERNATION) += hibernate_$(BITS).o hibernate_asm_$(BITS).o hibernate.o
|