module: unify absolute krctab definitions for 32-bit and 64-bit
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Fri, 3 Feb 2017 09:54:07 +0000 (09:54 +0000)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 3 Feb 2017 16:28:25 +0000 (08:28 -0800)
The previous patch introduced a separate inline asm version of the
krcrctab declaration template for use with 64-bit architectures, which
cannot refer to ELF symbols using 32-bit quantities.

This declaration should be equivalent to the C one for 32-bit
architectures, but just in case - unify them in a separate patch, which
can simply be dropped if it turns out to break anything.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/export.h

index 7473fba6a60c5022fc404c041d11e58c9ba49bc0..1a1dfdb2a5c6d8806d11e2cd58722e304f293054 100644 (file)
@@ -49,13 +49,6 @@ extern struct module __this_module;
            "   .weak   " VMLINUX_SYMBOL_STR(__crc_##sym) "     \n"     \
            "   .long   " VMLINUX_SYMBOL_STR(__crc_##sym) " - . \n"     \
            "   .previous                                       \n");
-#elif !defined(CONFIG_64BIT)
-#define __CRC_SYMBOL(sym, sec)                                         \
-       extern __visible void *__crc_##sym __attribute__((weak));       \
-       static const unsigned long __kcrctab_##sym                      \
-       __used                                                          \
-       __attribute__((section("___kcrctab" sec "+" #sym), used))       \
-       = (unsigned long) &__crc_##sym;
 #else
 #define __CRC_SYMBOL(sym, sec)                                         \
        asm("   .section \"___kcrctab" sec "+" #sym "\", \"a\"  \n"     \