mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-07 14:24:18 +08:00
c894d2f9fd
commitbba496656a
upstream. Boot fails with GCC latent entropy plugin enabled. This is due to early boot functions trying to access 'latent_entropy' global data while the kernel is not relocated at its final destination yet. As there is no way to tell GCC to use PTRRELOC() to access it, disable latent entropy plugin in early_32.o and feature-fixups.o and code-patching.o Fixes:38addce8b6
("gcc-plugins: Add latent_entropy plugin") Cc: stable@vger.kernel.org # v4.9+ Reported-by: Erhard Furtner <erhard_f@mailbox.org> Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://bugzilla.kernel.org/show_bug.cgi?id=215217 Link: https://lore.kernel.org/r/2bac55483b8daf5b1caa163a45fa5f9cdbe18be4.1640178426.git.christophe.leroy@csgroup.eu Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
73 lines
2.0 KiB
Makefile
73 lines
2.0 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for ppc-specific library files..
|
|
#
|
|
|
|
ccflags-$(CONFIG_PPC64) := $(NO_MINIMAL_TOC)
|
|
|
|
CFLAGS_code-patching.o += -fno-stack-protector
|
|
CFLAGS_feature-fixups.o += -fno-stack-protector
|
|
|
|
CFLAGS_REMOVE_code-patching.o = $(CC_FLAGS_FTRACE)
|
|
CFLAGS_REMOVE_feature-fixups.o = $(CC_FLAGS_FTRACE)
|
|
|
|
KASAN_SANITIZE_code-patching.o := n
|
|
KASAN_SANITIZE_feature-fixups.o := n
|
|
|
|
ifdef CONFIG_KASAN
|
|
CFLAGS_code-patching.o += -DDISABLE_BRANCH_PROFILING
|
|
CFLAGS_feature-fixups.o += -DDISABLE_BRANCH_PROFILING
|
|
endif
|
|
|
|
CFLAGS_code-patching.o += $(DISABLE_LATENT_ENTROPY_PLUGIN)
|
|
CFLAGS_feature-fixups.o += $(DISABLE_LATENT_ENTROPY_PLUGIN)
|
|
|
|
obj-y += alloc.o code-patching.o feature-fixups.o pmem.o test_code-patching.o
|
|
|
|
ifndef CONFIG_KASAN
|
|
obj-y += string.o memcmp_$(BITS).o
|
|
obj-$(CONFIG_PPC32) += strlen_32.o
|
|
endif
|
|
|
|
obj-$(CONFIG_PPC32) += div64.o copy_32.o crtsavres.o
|
|
|
|
obj-$(CONFIG_FUNCTION_ERROR_INJECTION) += error-inject.o
|
|
|
|
# See corresponding test in arch/powerpc/Makefile
|
|
# 64-bit linker creates .sfpr on demand for final link (vmlinux),
|
|
# so it is only needed for modules, and only for older linkers which
|
|
# do not support --save-restore-funcs
|
|
ifeq ($(call ld-ifversion, -lt, 22500, y),y)
|
|
extra-$(CONFIG_PPC64) += crtsavres.o
|
|
endif
|
|
|
|
obj-$(CONFIG_PPC_BOOK3S_64) += copyuser_power7.o copypage_power7.o \
|
|
memcpy_power7.o restart_table.o
|
|
|
|
obj64-y += copypage_64.o copyuser_64.o mem_64.o hweight_64.o \
|
|
memcpy_64.o copy_mc_64.o
|
|
|
|
ifndef CONFIG_PPC_QUEUED_SPINLOCKS
|
|
obj64-$(CONFIG_SMP) += locks.o
|
|
endif
|
|
|
|
obj64-$(CONFIG_ALTIVEC) += vmx-helper.o
|
|
obj64-$(CONFIG_KPROBES_SANITY_TEST) += test_emulate_step.o \
|
|
test_emulate_step_exec_instr.o
|
|
|
|
obj-y += checksum_$(BITS).o checksum_wrappers.o \
|
|
string_$(BITS).o
|
|
|
|
obj-y += sstep.o
|
|
obj-$(CONFIG_PPC_FPU) += ldstfp.o
|
|
obj64-y += quad.o
|
|
|
|
obj-$(CONFIG_PPC_LIB_RHEAP) += rheap.o
|
|
|
|
obj-$(CONFIG_FTR_FIXUP_SELFTEST) += feature-fixups-test.o
|
|
|
|
obj-$(CONFIG_ALTIVEC) += xor_vmx.o xor_vmx_glue.o
|
|
CFLAGS_xor_vmx.o += -maltivec $(call cc-option,-mabi=altivec)
|
|
|
|
obj-$(CONFIG_PPC64) += $(obj64-y)
|