[PATCH v5 3/3] module: unify absolute krctab definitions for 32-bit and 64-bit

Ard Biesheuvel ard.biesheuvel at linaro.org
Fri Feb 3 20:54:07 AEDT 2017


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 this
needs to be checked first, so unify them in a separate patch.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel at linaro.org>
---

... which can simply be dropped if it turns out to break anything.

 include/linux/export.h | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/include/linux/export.h b/include/linux/export.h
index 7473fba6a60c..1a1dfdb2a5c6 100644
--- a/include/linux/export.h
+++ b/include/linux/export.h
@@ -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"	\
-- 
2.7.4



More information about the Linuxppc-dev mailing list