ARM: 9145/1: patch: fix BE32 compilation
authorArnd Bergmann <arnd@arndb.de>
Mon, 18 Oct 2021 14:30:03 +0000 (15:30 +0100)
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Mon, 25 Oct 2021 12:12:36 +0000 (13:12 +0100)
commitae3d6978aa84f65376a790e23d3fb52fcc8346b2
treee901494772fee45cb5e0bab819cc98609a7d4e9e
parentecb108e3e3f7c692082b7c6fce41779c3835854a
ARM: 9145/1: patch: fix BE32 compilation

On BE32 kernels, the __opcode_to_mem_thumb32() interface is intentionally
not defined, but it is referenced whenever runtime patching is enabled
for the kernel, which may be for ftrace, jump label, kprobes or kgdb:

arch/arm/kernel/patch.c: In function '__patch_text_real':
arch/arm/kernel/patch.c:94:32: error: implicit declaration of function '__opcode_to_mem_thumb32' [-Werror=implicit-function-declaration]
   94 |                         insn = __opcode_to_mem_thumb32(insn);
      |                                ^~~~~~~~~~~~~~~~~~~~~~~

Since BE32 kernels never run Thumb2 code, we never end up using the
result of this call, so providing an extern declaration without
a definition makes it build correctly.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
arch/arm/include/asm/opcodes.h