diff for duplicates of <4ACF3F10.9040907@tuffmail.co.uk> diff --git a/a/1.txt b/N1/1.txt index f3c53de..5850eae 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -16,3 +16,69 @@ Thanks Alan --------------------------------> +>From 9fcf8cc0417c601171ccee83598310eea69b90a9 Mon Sep 17 00:00:00 2001 +From: Alan Jenkins <alan-jenkins@tuffmail.co.uk> +Date: Fri, 9 Oct 2009 13:35:13 +0100 +Subject: [PATCH] ARM: unexport symbols used to implement floating point emulation + +The Kconfig for in-tree floating point emulation does not allow building +as a module. That leaves the Acorn FPEmulator module. I found two public +releases of this as a binary module for 2.1 and 2.2 kernels.[1] If there +is a resurgence of interest in this, the symbols can always be exported +again. + +The real purpose here is to remove the EXPORT_SYMBOL_ALIAS() hack. +EXPORT_SYMBOL_ALIAS() makes it harder to sort the resulting kernel +symbol tables. Sorted symbol tables will allow for faster symbol +resolution during module loading. + + +Note that fp_send_sigs() and fp_printk() are simply aliases for existing +exports and add no obvious value. Similarly fp_enter could easily be +renamed to kern_fp_enter at the point of definition. So removing +EXPORT_SYMBOL_ALIAS() would not serve as a material obstacle to +re-adding these exports in future. + +Build tested only. + +[1] http://ftp.arm.linux.org.uk/pub/linux/arm/fpemulator/ + +Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk> +--- + arch/arm/kernel/armksyms.c | 20 -------------------- + 1 files changed, 0 insertions(+), 20 deletions(-) + +diff --git a/arch/arm/kernel/armksyms.c b/arch/arm/kernel/armksyms.c +index 0e62770..8214bfe 100644 +--- a/arch/arm/kernel/armksyms.c ++++ b/arch/arm/kernel/armksyms.c +@@ -48,27 +48,7 @@ extern void __aeabi_uidivmod(void); + extern void __aeabi_ulcmp(void); + + extern void fpundefinstr(void); +-extern void fp_enter(void); + +-/* +- * This has a special calling convention; it doesn't +- * modify any of the usual registers, except for LR. +- */ +-#define EXPORT_CRC_ALIAS(sym) __CRC_SYMBOL(sym, "") +- +-#define EXPORT_SYMBOL_ALIAS(sym,orig) \ +- EXPORT_CRC_ALIAS(sym) \ +- static const struct kernel_symbol __ksymtab_##sym \ +- __used __attribute__((section("__ksymtab"))) = \ +- { (unsigned long)&orig, #sym }; +- +-/* +- * floating point math emulator support. +- * These symbols will never change their calling convention... +- */ +-EXPORT_SYMBOL_ALIAS(kern_fp_enter,fp_enter); +-EXPORT_SYMBOL_ALIAS(fp_printk,printk); +-EXPORT_SYMBOL_ALIAS(fp_send_sig,send_sig); + + EXPORT_SYMBOL(__backtrace); + +-- +1.6.3.2 diff --git a/a/content_digest b/N1/content_digest index 280d4f7..b953c45 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,7 +1,9 @@ - "From\0alan-jenkins@tuffmail.co.uk (Alan Jenkins)\0" + "From\0Alan Jenkins <alan-jenkins@tuffmail.co.uk>\0" "Subject\0[PATCH] ARM: unexport symbols used to implement floating point emulation\0" "Date\0Fri, 09 Oct 2009 14:48:00 +0100\0" - "To\0linux-arm-kernel@lists.infradead.org\0" + "To\0Russell King <rmk+kernel@arm.linux.org.uk>\0" + "Cc\0linux-arm-kernel@lists.infradead.org" + " linux-kernel <linux-kernel@vger.kernel.org>\0" "\00:1\0" "b\0" "Hi again,\n" @@ -21,6 +23,72 @@ "Thanks\n" "Alan\n" "\n" - --------------------------------> + "-------------------------------->\n" + ">From 9fcf8cc0417c601171ccee83598310eea69b90a9 Mon Sep 17 00:00:00 2001\n" + "From: Alan Jenkins <alan-jenkins@tuffmail.co.uk>\n" + "Date: Fri, 9 Oct 2009 13:35:13 +0100\n" + "Subject: [PATCH] ARM: unexport symbols used to implement floating point emulation\n" + "\n" + "The Kconfig for in-tree floating point emulation does not allow building\n" + "as a module. That leaves the Acorn FPEmulator module. I found two public\n" + "releases of this as a binary module for 2.1 and 2.2 kernels.[1] If there\n" + "is a resurgence of interest in this, the symbols can always be exported\n" + "again.\n" + "\n" + "The real purpose here is to remove the EXPORT_SYMBOL_ALIAS() hack.\n" + "EXPORT_SYMBOL_ALIAS() makes it harder to sort the resulting kernel\n" + "symbol tables. Sorted symbol tables will allow for faster symbol\n" + "resolution during module loading.\n" + "\n" + "\n" + "Note that fp_send_sigs() and fp_printk() are simply aliases for existing\n" + "exports and add no obvious value. Similarly fp_enter could easily be\n" + "renamed to kern_fp_enter at the point of definition. So removing\n" + "EXPORT_SYMBOL_ALIAS() would not serve as a material obstacle to\n" + "re-adding these exports in future.\n" + "\n" + "Build tested only.\n" + "\n" + "[1] http://ftp.arm.linux.org.uk/pub/linux/arm/fpemulator/\n" + "\n" + "Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>\n" + "---\n" + " arch/arm/kernel/armksyms.c | 20 --------------------\n" + " 1 files changed, 0 insertions(+), 20 deletions(-)\n" + "\n" + "diff --git a/arch/arm/kernel/armksyms.c b/arch/arm/kernel/armksyms.c\n" + "index 0e62770..8214bfe 100644\n" + "--- a/arch/arm/kernel/armksyms.c\n" + "+++ b/arch/arm/kernel/armksyms.c\n" + "@@ -48,27 +48,7 @@ extern void __aeabi_uidivmod(void);\n" + " extern void __aeabi_ulcmp(void);\n" + " \n" + " extern void fpundefinstr(void);\n" + "-extern void fp_enter(void);\n" + " \n" + "-/*\n" + "- * This has a special calling convention; it doesn't\n" + "- * modify any of the usual registers, except for LR.\n" + "- */\n" + "-#define EXPORT_CRC_ALIAS(sym) __CRC_SYMBOL(sym, \"\")\n" + "-\n" + "-#define EXPORT_SYMBOL_ALIAS(sym,orig)\t\t\\\n" + "- EXPORT_CRC_ALIAS(sym)\t\t\t\t\\\n" + "- static const struct kernel_symbol __ksymtab_##sym\t\\\n" + "- __used __attribute__((section(\"__ksymtab\"))) =\t\\\n" + "- { (unsigned long)&orig, #sym };\n" + "-\n" + "-/*\n" + "- * floating point math emulator support.\n" + "- * These symbols will never change their calling convention...\n" + "- */\n" + "-EXPORT_SYMBOL_ALIAS(kern_fp_enter,fp_enter);\n" + "-EXPORT_SYMBOL_ALIAS(fp_printk,printk);\n" + "-EXPORT_SYMBOL_ALIAS(fp_send_sig,send_sig);\n" + " \n" + " EXPORT_SYMBOL(__backtrace);\n" + " \n" + "-- \n" + 1.6.3.2 -2dd91e7060991ef072e65ea417aa3427867c6aa79f7c6e9f9cee9eff6529ad90 +aa49331fe555fa5ce3e13f22228f7d31b9349fccb2de3f307cf48c6d98c4a353
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.