linux/arch/powerpc
Nicholas Piggin e4bb64c7a4 powerpc: remove interrupt handler functions from the noinstr section
The allyesconfig ppc64 kernel fails to link with relocations unable to
fit after commit 3a96570ffc ("powerpc: convert interrupt handlers to
use wrappers"), which is due to the interrupt handler functions being
put into the .noinstr.text section, which the linker script places on
the opposite side of the main .text section from the interrupt entry
asm code which calls the handlers.

This results in a lot of linker stubs that overwhelm the 252-byte sized
space we allow for them, or in the case of BE a .opd relocation link
error for some reason.

It's not required to put interrupt handlers in the .noinstr section,
previously they used NOKPROBE_SYMBOL, so take them out and replace
with a NOKPROBE_SYMBOL in the wrapper macro. Remove the explicit
NOKPROBE_SYMBOL macros in the interrupt handler functions. This makes
a number of interrupt handlers nokprobe that were not prior to the
interrupt wrappers commit, but since that commit they were made
nokprobe due to being in .noinstr.text, so this fix does not change
that.

The fixes tag is different to the commit that first exposes the problem
because it is where the wrapper macros were introduced.

Fixes: 8d41fc618a ("powerpc: interrupt handler wrapper functions")
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
[mpe: Slightly fix up comment wording]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210211063636.236420-1-npiggin@gmail.com
2021-02-11 23:28:34 +11:00
..
boot powerpc/boot: Fix build of dts/fsl 2020-12-21 22:06:09 +11:00
configs powerpc/akebono: Fix unmet dependency errors 2021-02-09 00:10:50 +11:00
crypto crypto: powerpc/sha256-spe - Fix sparse endianness warning 2020-11-27 17:13:41 +11:00
include powerpc: remove interrupt handler functions from the noinstr section 2021-02-11 23:28:34 +11:00
kernel powerpc: remove interrupt handler functions from the noinstr section 2021-02-11 23:28:34 +11:00
kexec arch, drivers: replace for_each_membock() with for_each_mem_range() 2020-10-13 18:38:35 -07:00
kvm powerpc/32s: Change mfsrin() into a static inline function 2021-02-09 01:10:15 +11:00
lib powerpc/sstep: Fix darn emulation 2021-02-09 01:10:08 +11:00
math-emu
mm powerpc: remove interrupt handler functions from the noinstr section 2021-02-11 23:28:34 +11:00
net
oprofile
perf powerpc/perf: Record counter overflow always if SAMPLE_IP is unset 2021-02-09 01:09:46 +11:00
platforms powerpc/powernv/pci: Use kzalloc() for phb related allocations 2021-02-11 23:28:34 +11:00
purgatory
sysdev powerpc/xive: Improve error reporting of OPAL calls 2020-12-11 09:53:11 +11:00
tools
xmon powerpc/32s: mfsrin()/mtsrin() become mfsr()/mtsr() 2021-02-09 01:10:15 +11:00
Kbuild
Kconfig powerpc/64: context tracking remove _TIF_NOHZ 2021-02-09 00:02:12 +11:00
Kconfig.debug powerpc/xmon: Select CONSOLE_POLL for the 8xx 2021-01-31 22:35:51 +11:00
Makefile powerpc updates for 5.11 2020-12-17 13:34:25 -08:00
Makefile.postlink