• Arnd Bergmann's avatar
    ARM: 9145/1: patch: fix BE32 compilation · ae3d6978
    Arnd Bergmann authored
    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: default avatarLinus Walleij <linus.walleij@linaro.org>
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
    ae3d6978
opcodes.h 8.06 KB