All of lore.kernel.org
 help / color / mirror / Atom feed
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.