TencentOS-kernel/arch/powerpc
Nathan Chancellor f27d5afcc8 powerpc: Handle .text.{hot,unlikely}.* in linker script
commit 3ce47d95b7346dcafd9bed3556a8d072cb2b8571 upstream.

Commit eff8728fe698 ("vmlinux.lds.h: Add PGO and AutoFDO input
sections") added ".text.unlikely.*" and ".text.hot.*" due to an LLVM
change [1].

After another LLVM change [2], these sections are seen in some PowerPC
builds, where there is a orphan section warning then build failure:

$ make -skj"$(nproc)" \
       ARCH=powerpc CROSS_COMPILE=powerpc64le-linux-gnu- LLVM=1 O=out \
       distclean powernv_defconfig zImage.epapr
ld.lld: warning: kernel/built-in.a(panic.o):(.text.unlikely.) is being placed in '.text.unlikely.'
...
ld.lld: warning: address (0xc000000000009314) of section .text is not a multiple of alignment (256)
...
ERROR: start_text address is c000000000009400, should be c000000000008000
ERROR: try to enable LD_HEAD_STUB_CATCH config option
ERROR: see comments in arch/powerpc/tools/head_check.sh
...

Explicitly handle these sections like in the main linker script so
there is no more build failure.

[1]: https://reviews.llvm.org/D79600
[2]: https://reviews.llvm.org/D92493

Fixes: 83a092cf95f2 ("powerpc: Link warning for orphan sections")
Cc: stable@vger.kernel.org
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://github.com/ClangBuiltLinux/linux/issues/1218
Link: https://lore.kernel.org/r/20210104205952.1399409-1-natechancellor@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-04-12 12:51:10 +08:00
..
boot powerpc/boot: Fix CONFIG_PPC_MPC52XX references 2021-03-16 16:33:42 +08:00
configs vgacon: remove software scrollback support 2021-03-16 16:36:07 +08:00
crypto Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
include powerpc/bitops: Fix possible undefined behaviour with fls() and fls64() 2021-03-16 16:43:50 +08:00
kernel powerpc: Handle .text.{hot,unlikely}.* in linker script 2021-04-12 12:51:10 +08:00
kvm KVM: PPC: Book3S HV: XIVE: Fix possible oops when accessing ESB page 2021-03-16 16:41:35 +08:00
lib powerpc/64s: flush L1D after user accesses 2021-03-16 16:41:00 +08:00
math-emu Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
mm powerpc/mm: Fix verification of MMU_FTR_TYPE_44x 2021-03-16 16:43:34 +08:00
net Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
oprofile Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
perf powerpc/perf: Exclude kernel samples while counting events in user space. 2021-03-16 16:43:29 +08:00
platforms powerpc/powernv/memtrace: Fix crashing the kernel when enabling concurrently 2021-03-16 16:43:34 +08:00
purgatory Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
sysdev powerpc: sysdev: add missing iounmap() on error in mpic_msgr_probe() 2021-03-16 16:43:55 +08:00
tools Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
xmon powerpc/xmon: Change printk() to pr_cont() 2021-03-16 16:43:34 +08:00
Kbuild Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Kconfig powerpc/rtas: Restrict RTAS requests from userspace 2021-03-16 16:40:06 +08:00
Kconfig.debug Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Makefile powerpc: Drop -me200 addition to build flags 2021-03-16 16:42:10 +08:00
Makefile.postlink Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00